私はReSharperテストランナーとxUnitContrib resharperプラグインでxUnitを使用しています。ReSharperを使用すると、長時間のユニットテスト中にデバッグ出力を表示する方法はありますか?
私は長時間のテストをしているときに、いくつかの進捗インジケータをUnit Test Outputウィンドウに出力したいと思います。
私はDebug.WriteLines
、Trace.WriteLine
およびConsole.WriteLine
を試しました。これらのすべてが同じ動作をします。テストが完了するまで、出力ウィンドウに何も表示されません。例えば
:10秒経過したとテストが完了するまで
[Fact]
public void Test()
{
Debug.WriteLine("A");
Trace.WriteLine("B");
Console.WriteLine("C");
Thread.Sleep(10000);
}
テストは何も出力を示していません。どのようにして出力を得るのですか?
UPDATE 1
IはMSTestをとNUnitのでも試みました。 NUnitは途中で出力を示す唯一のものです。
MSTestとXUnitは、テストが完了するまで出力を返しません。
A
B
C
MSTestを出力は次のようになります:これらの変化の全てを考えると
C
Debug Trace:
A
B
、私は答えはそれということだと思う奇妙な部分はxUnitのとNUnitのテスト出力は次のようになりながら、ということですどのようにしていつ出力するかを決めるテストランナーの実装までです。 XUnitテストランナーを設定することができるかどうかは誰にも分かりますか?
UPDATE 2
私は、これはxUnitContribの欠乏でなければならないと思います。彼らのCodePlex issue trackerに投稿されました。
Debug.WriteLine()完璧に動作します私がデバッグモードに入っているときに私のために良い。ですから、一般的な方法でログインしたいのであれば、私はbrentonの答えを – derape
@derapeにすることをお勧めします - いいえ、xunitでは動作しません。テストが完了するまで、出力は表示されません。 –
私は、XUnit - NUnitだけで遊んだことはありません。そして、NUnitのロギングはデバッグスレッドに沿って動作します... – brenton