单个单元测试失败时TFS失败

Sam*_*Sam 5 tfs continuous-integration unit-testing tfs2008

在Microsoft Team Foundation Server中设置CI,我有一个构建,它将构建解决方案并执行解决方案中的所有单元测试.

目前,如果构建成功并且单元测试失败,则构建将显示为部分成功.我想在单元测试失败时将构建显示为失败.

任何人都可以告诉我是否有办法完成此功能?

Mar*_*ard 3

如果您的构建计算机上安装了 VS2008 SP1,那么您只需将以下属性添加到 TFSBuild.proj 文件中:

<TreatTestFailureAsBuildFailure>true</TreatTestFailureAsBuildFailure>
Run Code Online (Sandbox Code Playgroud)

如果您没有安装 SP1 并且不想安装它,那么您可以按照 TFS 构建团队的开发主管 Aaaron Hallberg 在此详细介绍的老式路线进行安装:

  <Target Name="AfterTest">

    <!-- Refresh the build properties. -->
    <GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
                        BuildUri="$(BuildUri)"
                        Condition=" '$(IsDesktopBuild)' != 'true' ">
      <Output TaskParameter="TestSuccess" PropertyName="TestSuccess" />
    </GetBuildProperties>

    <!-- Set CompilationStatus to Failed if TestSuccess is false. -->
    <SetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
                        BuildUri="$(BuildUri)"
                        CompilationStatus="Failed"
                        Condition=" '$(IsDesktopBuild)' != 'true' and '$(TestSuccess)' != 'true' ">

  </Target>
Run Code Online (Sandbox Code Playgroud)