【问题标题】:TeamCity, xUnit.net, MSBuild, and muting tests - unmuted test failures should halt the build?TeamCity、xUnit.net、MSBuild 和静音测试 - 非静音测试失败应该停止构建吗?
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 2013-10-16
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多