我们有一些访问数据库的NUnittesting。 当其中一个失败时,可能会使数据库处于不一致的状态 – 这不是问题,因为我们为每个testing运行重build数据库 – 但是可能导致其他testing在同一运行中失败。 是否有可能检测到其中一个testing失败并执行某种清理? 我们不想在每个testing中都写清理代码,现在我们已经这样做了。 我想在拆解时进行清理,但是只有在testing失败的情况下才能清理,因为清理工作可能会很昂贵。 更新 :澄清 – 我想testing是简单的,不包括任何清理或error handling逻辑。 我也不想在每次testing运行时执行数据库重置 – 只有在testing失败的情况下。 而这个代码可能应该在拆解方法中执行,但是我不知道有什么方法来获取信息,如果testing我们正在从失败或成功拆除。 Update2 : [Test] public void MyFailTest() { throw new InvalidOperationException(); } [Test] public void MySuccessTest() { Assert.That(true, Is.True); } [TearDown] public void CleanUpOnError() { if (HasLastTestFailed()) CleanUpDatabase(); } 我正在寻找HasLastTestFailed()的实现