私はプロセスを開始して、エラーストリームを解析して何が起こったのかを知ることができるようにリダイレクトしています。私はそれをこのようにやっている:DataReceivedEventArgsをインスタンス化する方法、またはデータを入力する方法
NetErrorDataHandlerは、次のシグネチャた_proc.ErrorDataReceived += new DataReceivedEventHandler(NetErrorDataHandler);
:これまでのところ、私はDataReceivedEventArgsで動作するように
private void NetErrorDataHandler(object sendingProcess, DataReceivedEventArgs errLine)
を持っていますが、私はそれをテストするかどうかはわかりません。現在、私は作業しているプロセスを実行しています。追加データでDataReceivedEventArgsのインスタンスを作成することはできません。どうすればこの障害を克服できますか?私が今これを行う方法を知る唯一の方法は、私にとって仕事をするプロセスを作ることです。しかし、これはテストのための最良の選択肢ではありません。
:-)可能だったとは思いませんでしたクラス。それはどうですか?実際に私のクラスは、コードからわかるように、DataReceivedEventHandlerを購読しています。それで、それは、購読するための具体的なメソッドシグネチャを期待しています。 datareceivedEventArgsがラップされていても、データのプロパティが読み込み専用なので、空の場合はどうすれば使用できますか? –
他のアイデアがなければ、それを解決策としてマークします。しかし、私はあなたが 'CustomDataReceivedEventArgsで動作する特別なメソッドのシグネチャを追加する必要があることをテストするのが好きではありません。しかし、データを扱う方法はパブリック・インターフェイスです。私はテスト目的のために変更したくありません。だから私の実装をテストするが、私はそれのための特別なメソッドを作成し、それを公開する必要があります。 –
これは、既存のクラスをほとんど変更しないうちに、設定できないデータの問題を回避するためのすばやく汚れた方法でした。 –