TeamCity - 在测试失败时停止构建

时间:2013-07-30 16:05:13

标签: continuous-integration nunit teamcity build-server

当单元测试失败时,是否可以停止TeamCity构建(整个构建,即它不会执行后续步骤)?理想情况下,我也希望它能够终止当前正在执行的步骤,在我的情况下,这将是Nunit Test Runner。在我的情况下,如果单个单元测试失败,继续构建是没有意义的。我已经查看了失败条件,但我不认为它们适用于构建继续运行。

请求的功能:http://youtrack.jetbrains.com/issue/YTF-3275

3 个答案:

答案 0 :(得分:6)

正如您所指出的,TeamCity无法在NUnit测试中运行测试失败的步骤,“仅当构建状态成功”步骤执行条件。但是,这不会使测试在步骤结束前停止运行。

相关功能请求为TW-23766

我目前唯一可以考虑的解决方法是不使用NUnit测试运行器并在构建脚本中实现逻辑。例如,像Manuel所说的nunit-console.exe。如果您选择遵循此路线,请考虑使用TeamCity Addin for NUNit

答案 1 :(得分:3)

您可以使用nunit-console.exe执行此操作。 相应于官方文档(http://nunit.org/index.php?p=consoleCommandLine&r=2.6.2),它提供了一个/ stoponerror开关,可以完全满足你的需要。

它还可以生成一个XML输出,可以由teamcity解析(有一个构建功能),以填充“测试”选项卡。

答案 2 :(得分:0)

在单元测试后的构建步骤中,将设置更改为Only if Build status is successful而不是if all previous steps finished successfully

查看屏幕截图

还要确保在failure conditions菜单项下的at least one test failed选项也被勾选。

enter image description here

相关问题