これは、同様のSOの質問に対するRanの回答ですでに解決されています。ランの引用:
バージョン 2.5.7 以降、NUnit により、Teardown は最後のテストが失敗したかどうかを検出できます。新しい TestContext クラスにより、テストは TestStauts を含む自身に関する情報にアクセスできます。
詳細については、http://nunit.org/?p=releaseNotes&r=2.5.7
を参照してください。[TearDown]
public void TearDown()
{
if (TestContext.CurrentContext.Result.Status == TestStatus.Failed)
{
PerformCleanUpFromTest();
}
}
TearDown を使用して、NUnit 3.5 での最後のテストのステータスを検出する場合は、次のようにする必要があります:
[TearDown]
public void TearDown()
{
if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
{
//your code
}
}
統合テストでない限り、危険なアイデアのように聞こえます。たとえば、データを削除する必要があります。なぜテスト自体でそれをしないのですか?
明らかに、クラスのプライベート フラグを設定できます。
これは、必要に応じてチャーリー・プール自身が提案したものです