2011-01-04 11 views
34

テストメソッドの結果にカスタムメッセージを追加する方法はありますか?私はコードの一部にストップウォッチを入れて、その実行時間を確認したい。私はそれが特定の時間枠内で実行されていることをテストする必要はなく、結果ウィンドウで経過時間を確認したいだけです。ユニットテスト結果にカスタムメッセージを追加

答えて

61

あなたはMSTestをを使用していると仮定すると、あなたが欲しいものは何でも出力するに

System.Diagnostics.Trace.WriteLine("Hello World"); 

を使用することができます。テストランナーの全結果に表示されます。

+0

これは機能しました。しかし、とにかく出力に名前を付けることはありますが、それを記録するために渡されたテストデータをキャプチャすることができます –

6

上記の例では、私のために動作しませんでしたが、次はやった:メッセージは、私は私のテスト結果のエラーメッセージダイアログに表示したい任意のエラーです

var result = routeManager.UpdateWalkingOrder(previouspremiseFuncLoc, premiseFuncLoc, out message); 

Assert.AreEqual(true, result, message); 

。 上記の例では、その関数を実行したときにキャプチャされたエラーを返して、デバッグに大きな助けとなるテスト結果にそのエラーを表示しています。

あなたの場合は、実行時間を表示するだけで済みます。

+4

これは、アサーションが失敗した場合にのみ機能します。 – Schaliasos

+0

そして、テストログに「失敗」を追加します。 –

1

メッセージの長さによっては、Console.WriteLineを使用することができます。テスト結果に追加されます。カラム名はOutput (StdOut)なので、テスト実行の詳細は表示されません。

テストされたプロパティの数やテストが実際に実行されたという他の証明など、非常に一般的な情報を出力すると便利です。

ステータスメッセージが表示されない場合は、誰かがあなたのコードを破壊し、テストメソッド本体からすべてを削除したらどうなりますか?彼らはすべて今通り過ぎているが、それはまったく助けにならない。

5

私はテスト結果にメッセージを出力する方法を見つけようとしていました。あなたは、単にあなたのelapsedtimeStringへの格納とだけ使用することができます。

Console.WriteLine(elapsedtime);

だけで罰金私のために働きました。

関連する問題