我正在使用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"
是添加(我实际参数化而不是使用硬编码值)。
现在静音DOES工作,因为当静音测试失败时,我的构建继续成功。当未静音测试失败时,我的构建失败。
我遇到的问题是,当未静音测试失败时,构建将继续,并运行所有内容 - 后续构建步骤等 - 并且在构建结束时决定失败。在我的情况下,我们正在打包构建工件,并自动部署到我们的集成环境 - 当构建因(未静音)测试失败而失败时,这两件事都不会发生。
如果在未取消测试失败时如何尽早结束构建,我感到很茫然。有没有人有任何想法?
答案 0 :(得分:1)
截至2014年2月,这是TeamCity中的一个已知问题。两个相关的未决问题:
ContinueOnError="true"
所以最重要的是,TeamCity测试静音不可用。但是,您可以使用xUnit测试跳过,例如[Fact(Skip="Explain here why the test is skipped")]
。