web-dev-qa-db-ja.com

単体テスト結果にカスタムメッセージを追加する

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

36
Rush Frisby

MSTestを使用していると仮定すると、

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

好きなものを出力します。テストランナーの全結果に表示されます。

63
vcsjones

上記の例ではうまくいきませんでしたが、次の例ではうまくいきました:

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

Assert.AreEqual(true, result, message);

メッセージは、テスト結果のエラーメッセージダイアログに表示するエラーです。上記の例では、その関数を実行したときにキャプチャされたエラーを返し、テスト結果に表示しています。これはデバッグに非常に役立ちます。

あなたの場合、あなただけの実行時間を表示することができます。

7
Adrian Hedley

私は同じ方法で、テスト結果にメッセージを出力する方法を見つけようとしました。 elapsedtimeStringに保存して、次のように使用できます。

Console.WriteLine(elapsedtime);

私のためにうまく働きました。

5
john stewart

メッセージの長さに応じて、_Console.WriteLine_を使用できます。テスト結果の列名Output (StdOut)に追加されるので、テスト実行の詳細を表示しなくても確認できます。

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

ステータスメッセージがない場合、誰かがコードを妨害し、テストメソッドの本体からすべてを削除した場合はどうなりますか?彼らは今すべて合格していますが、まったく役に立ちません。

1
Neolisk