TeamCity,xUnit.net,MSBuild和静音测试 - 未静音的测试失败应该停止构建吗?

时间:2014-01-10 06:30:58

标签: msbuild teamcity xunit.net

我正在使用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工作,因为当静音测试失败时,我的构建继续成功。当未静音测试失败时,我的构建失败。

我遇到的问题是,当未静音测试失败时,构建将继续,并运行所有内容 - 后续构建步骤等 - 并且在构建结束时决定失败。在我的情况下,我们正在打包构建工件,并自动部署到我们的集成环境 - 当构建因(未静音)测试失败而失败时,这两件事都不会发生。

如果在未取消测试失败时如何尽早结束构建,我感到很茫然。有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

截至2014年2月,这是TeamCity中的一个已知问题。两个相关的未决问题:

所以最重要的是,TeamCity测试静音不可用。但是,您可以使用xUnit测试跳过,例如[Fact(Skip="Explain here why the test is skipped")]