8

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

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

4

3 回答 3

6

正如您所指出的,TeamCity 不能在 NUnit 测试中以“仅当构建状态成功”步骤执行条件的情况下对测试失败运行进一步的构建步骤。但是,这不会使测试运行停止,直到步骤完成。

一个相关的功能请求是TW-23766

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

于 2013-07-31T17:45:32.513 回答
3

您可以使用 nunit-console.exe 来完成。根据官方文档(http://nunit.org/index.php?p=consoleCommandLine&r=2.6.2),它提供了一个 /stoponerror 开关,可以完全满足您的需求。

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

于 2013-07-30T20:43:17.990 回答
0

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

看截图

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

在此处输入图像描述

于 2020-09-16T10:54:00.880 回答