当单元测试失败时,是否可以停止 TeamCity 构建(整个构建,即它不会执行后续步骤)?理想情况下,我还希望它终止当前执行的步骤,在我的情况下是 Nunit Test Runner。在我的情况下,如果单个单元测试失败,则继续构建毫无意义。我查看了失败条件,但我认为它们不适用于构建继续运行。
要求的功能:http: //youtrack.jetbrains.com/issue/YTF-3275
当单元测试失败时,是否可以停止 TeamCity 构建(整个构建,即它不会执行后续步骤)?理想情况下,我还希望它终止当前执行的步骤,在我的情况下是 Nunit Test Runner。在我的情况下,如果单个单元测试失败,则继续构建毫无意义。我查看了失败条件,但我认为它们不适用于构建继续运行。
要求的功能:http: //youtrack.jetbrains.com/issue/YTF-3275
正如您所指出的,TeamCity 不能在 NUnit 测试中以“仅当构建状态成功”步骤执行条件的情况下对测试失败运行进一步的构建步骤。但是,这不会使测试运行停止,直到步骤完成。
一个相关的功能请求是TW-23766。
我目前可以考虑的唯一解决方法是不使用 NUnit 测试运行程序并在构建脚本中实现逻辑。例如,像 Manuel 指出的 nunit-console.exe。如果您选择遵循此路线,请考虑使用TeamCity Addin for NUUnit。
您可以使用 nunit-console.exe 来完成。根据官方文档(http://nunit.org/index.php?p=consoleCommandLine&r=2.6.2),它提供了一个 /stoponerror 开关,可以完全满足您的需求。
它还可以生成可以由 teamcity 解析的 XML 输出(有一个构建功能),以填充“测试”选项卡。