相关疑难解决方法(0)

NUnit - 测试失败后清理

我们有一些访问数据库的NUnit测试.当其中一个失败时,它可能使数据库处于不一致状态 - 这不是问题,因为我们为每次测试运行重建数据库 - 但它可能导致其他测试在同一次运行中失败.

是否有可能检测到其中一个测试失败并执行某种清理?

我们不想在每个测试中编写清理代码,我们现在已经这样做了.我想在Teardown中进行清理,但只有在测试失败的情况下才能进行清理,因为清理可能很昂贵.

更新:澄清 - 我希望测试很简单,不包括任何清理或错误处理逻辑.我也不想在每次测试运行时执行数据库重置 - 仅在测试失败时.这个代码应该可以在Teardown方法中执行,但是我不知道有什么方法可以获取信息,如果测试我们目前正在从失败或成功中拆除.

Update2:

        [Test]
        public void MyFailTest()
        {
            throw new InvalidOperationException();
        }

        [Test]
        public void MySuccessTest()
        {
            Assert.That(true, Is.True);
        }

        [TearDown]
        public void CleanUpOnError()
        {
            if (HasLastTestFailed()) CleanUpDatabase();
        }
Run Code Online (Sandbox Code Playgroud)

我正在寻找HasLastTestFailed()的实现

.net nunit nunit-2.5

41
推荐指数
2
解决办法
2万
查看次数

标签 统计

.net ×1

nunit ×1

nunit-2.5 ×1