質問

NUnitテストランナーには6つのタブがあります:

Errors and Failures
Tests Not Run
Console.Out
Console.Error
Trace
Log

エラーと失敗の目的はわかっていますが、残りのタブの目的はわかりにくいです。 Console.Out Trace の両方が同様の目的を果たしているようです。

コメントが指摘しているように、すべてのタブにどのように書き込むかを尋ねる同様の質問を書きました。この質問では、各タブに1つ書き込む理由をなぜ求めていますか? Console.Out Trace Log タブに書き込む理由は何ですか?各タブの目的は何ですか

役に立ちましたか?

解決

[テストが実行されていません]タブには、スキップされたテストが表示されます。これらは、Ignore()属性が定義されているテストです。これは、一時的に無効であることがわかっているテスト、または定期的に実行するには時間がかかりすぎるテストを一時的に無効にする場合に便利です。

残りのタブはすべて他の質問でカバーされています:

  • Console.Out-> Console.WriteLine()
  • Console.Error-> Console.Error.WriteLine()
  • トレース-> System.Diagnostics.Trace.WriteLine()
  • ログ-> log4netの出力

Console.Outはデータをstdoutに書き込みます。

Console.Errorはデータをstderrに書き込みます。

Traceは、データを Trace Ojbect に書き込みます。

>

Log4Net は、「さまざまなログターゲット」に書き込みます p>

これらすべての目的は同じです。ブレークポイントとデバッガーを使用せずに、実行中のコードの動作を把握することです。どちらを使用するかは、要件によって異なります。コンソールメソッドは、ユーザーに見える出力を生成します。トレースは表示/非表示が簡単です(そして、非常に多くの追加情報が含まれます)が、トレースを裏付ける永続性はありません。ロギングは永続的でもかまいませんが、ログファイルを維持するオーバーヘッドが必要です。

他のヒント

テストの作成またはデバッグ時にConsole.Outが使用されるのに対し、テスト対象のコードからのトレース出力の表示にはTraceが使用されます。コードのトレース出力は、Trace.WriteIfなどを使用して条件付きにし、構成ファイルのスイッチ定義によってオンにすることができます。

  • Console.Out =テストコードからの出力(テスト対象のメソッドによって返されたオブジェクトの内容をダンプするなど)。

  • Console.Error =テストコードによって検出されたエラーの詳細を出力

  • トレース=テスト対象のコードからの診断トレース。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top