【发布时间】:2014-01-10 06:30:58
【问题描述】:
我正在使用 TeamCity 构建 C# 项目,直到最近我还无法使用 TeamCity 的“静音失败测试”功能,b/c MSBuild xunit test runner 导致 MSBuild 脚本失败(返回代码 -1)不管测试是否静音都不是。
对我的 MSBuild 脚本的此更改允许静音工作:
<UsingTask
AssemblyFile="xunit.runner.msbuild.dll"
TaskName="Xunit.Runner.MSBuild.xunit"/>
<Target Name="Test">
<xunit Assembly="MyTests\bin\Debug\MyTests.dll" ContinueOnError="true" />
</Target>
ContinueOnError="true" 是加法(我实际上已将其参数化,而不是使用硬编码值)。
现在静音确实有效,因为当静音测试失败时,我的构建继续成功。当非静音测试失败时,我的构建也会失败。
我遇到的问题是,当非静音测试失败时,构建会继续,并运行所有内容 - 后续构建步骤等 - 并且在构建结束时决定失败。就我而言,我们正在打包构建工件,并自动部署到我们的集成环境中——当构建由于(非静音)测试失败而失败时,这两件事都不应该发生。
当非静音测试失败时,我不知道如何尽早结束构建。有人有什么想法吗?
【问题讨论】:
标签: msbuild teamcity xunit.net