5

こんにちは、テスト失敗メッセージをログに記録したいと思います。ステータスを確認できることはわかっています。

TearDown

以下を使用して

TestContext.CurrentContext.Result.Status.ToString();

TearDown でテスト失敗の理由を取得できます。次のようなもの

Expected: True
But was:  False

at NUnit.Framework.Assert.That(Object actual, IResolveConstraint expression, String message, Object[] args)
       at NUnit.Framework.Assert.IsTrue(Boolean condition)
       at Test.FileSystemTests.QuoteFiles() in ExampleTests.cs: line 57
4

4 に答える 4

3

もしも

TestContext.CurrentContext.Result 

探している値が含まれていない場合は、試すこともできます

TestExecutionContext.CurrentContext.CurrentResult

これは、TearDownのNUnit 3.0や他の方法でうまくいきました。

于 2016-04-07T18:51:29.637 に答える
0

分解でのステータスの必要性は、テストスメルの兆候です。ティアダウンは、ユニット テストの結果に依存することなく、いつでも機能するはずです。システムを単体テスト前と同じ状態にするだけです。試行を追加し、最後に分解して混乱を解消することができます。ただし、1 つの assert に依存すると (後でさらに複数の assert に依存する)、ティアダウン コードが複雑になり、それが単体テストで必要になることがあります。

于 2013-02-25T10:20:28.977 に答える
0

この質問: NUnit: Accessing the Failure Message in TearDown()が役立つ可能性があります。意図的には十分に似ているようです。

于 2013-02-25T15:40:48.547 に答える