2009-07-23 6 views
7

自動化されたテストを書くためのコマンドラインツールがあります。私たちのテストフレームワークはC#で書かれていて、私は自動化を行うことができる.NETライブラリを探していました(私はProcessクラスを使うことができます、IOをリダイレクトし、検証を行いますが、可能なら)。理想的にはexpectライブラリのようなものを探しています。助言がありますか?コマンドラインの自動化 - 相当の期待

答えて

0

私はこれが古い質問であることを認識していますが、誰も答えていません。

IMO、私はこれを実行するたびに(プロセスクラス、StdIO、StdErrなどをリダイレクトして出力を解析する)毎回ホイールを再開発しなければなりませんでした。私は、この目的のために抽象基本クラスを再利用しました。

誰かがこれを行うライブラリを知っているかもしれませんが、私はそうではありません。

しかし、IOをリダイレクトすることが.Netフレームワークで正しく処理されない場合があることを警告します(プログラムをstdioまたはstderrに書き込む方法によって、ウィンドウを隠しているかどうかに関係なく) 、マルチスレッドの場合、その他いくつかの条件)、競合状態が発生し、不定期にハングアップします。

-2

http://blog.iwanek.eu/expect-net/

using ExpectNet; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading; 
using System.Threading.Tasks; 

namespace ExampleApp 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      try 
      { 
       Console.WriteLine("ExampleApp"); 
       Session spawn = Expect.Spawn(new ProcessSpawnable("cmd.exe")); 
       spawn.Expect("c:", s => Console.WriteLine("got: " + s)); 
      } 
    } 
} 
関連する問題