如何使 OneTimeSetup 失败在 TeamCity 中无法通过测试

How to make OneTimeSetup failures fail tests in TeamCity

我刚刚遇到一个场景,其中 TestFixtureOneTimeSetup 方法失败,但 TeamCity 报告所有测试均已通过。

我可以在日志中看到 TC 报告了 14 行红色文本,夹具中的 14 个测试中的每一个测试一次:

[Step 1/1] OneTimeSetUp: <...failure text...>

测试 运行 具有 [Parallelizable(ParallelScope.Fixtures)] 属性,这可能是相关的 - 我不知道。

在日志的末尾,我可以看到一个摘要(不是红色的)再次总结了 14 次失败。

[11:26:48][Step 1/1] Errors and Failures

[11:26:48][Step 1/1]

[11:26:48][Step 1/1] 1) Failed : blah blah blah ...

但是构建并没有失败,事实上测试 运行 成功了。

我们使用的是 TeamCity 10.0.2(内部版本 42234)和“NUnit 3.0”(根据 TC 设置 - 我们在实际项目中使用的是 3.2.1)

NUnit 3.2.1 中存在错误,其中 OneTimeSetUp 中的失败实际上并未使测试套件失败 - 这意味着 TeamCity 等工具无法检测到失败。

这已在 NUnit 3.4 中修复 - 升级到最新的 NUnit 应该可以解决您的问题。 GitHub问题,供参考:https://github.com/nunit/nunit/issues/1379