【问题标题】:TFS 2013 build doesn't run testsTFS 2013 构建不运行测试
【发布时间】:2015-10-12 18:40:21
【问题描述】:

我们的构建无法运行单元测试。

我们将 TFS 2010 升级到 TFS 2013。我认为 TFS2010 可能是对早期版本的升级,不确定。

我在 microsoft.teamfoundation.build.targets 文件中找到了 TestToolsTask 的故障。

  <TestToolsTask
            Condition=" '$(ProjectFileVersion)' != '2' and '$(IsDesktopBuild)'!='true' and '$(V8TestToolsTask)'!='true' and '@(LocalTestContainer)' != '' "
            ToolPath="$(TestToolsTaskToolPath)"
            TeamProject="$(TeamProject)"   
            BuildUri="$(BuildUri)"

            Publish="true"
            SearchPathRoot="$(OutDir)"
            PathToResultsFilesRoot="$(TestResultsRoot)"
            RunConfigFile="$(RunConfigFile)"
            TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
            TestContainers="@(LocalTestContainer)"

            TestNames="$(TestNames)"

            ContinueOnError="$(ContinueOnTestError)" 
            Category="$(Category)" />

如果我将其设置为发布 (publish="true"),则会收到以下错误。

 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe /nologo /usestderr /testSettings:"C:\Builds\18\XXX\XXX CI\Sources/Services/Local.testsettings" ................ /category:"Mock" /publish:"http://server:port/tfs/stuff" /noprompt /publishbuild:"vstfs:///Build/54258" /teamproject:"xxx" /platform:"Any CPU" /flavor:"Debug" 
  Invalid switch "/publish".
  Invalid switch "/publishbuild".
  Invalid switch "/teamproject".
  Invalid switch "/platform".
  Invalid switch "/flavor".
  For switch syntax, type "MSTest /help"

如果我删除了这些开关(我在上面的代码中进行了排序,和/或设置了 publish=false),它似乎会运行测试,因为它会加载所有测试程序集并且需要很长时间才能报告没有测试结果。如果我重新添加任何这些开关,我会收到错误的开关错误消息。

TeamFoundationServerUrl="http://ncmtfs2010:8080/tfs/ncmcorporate" BuildUri="vstfs:///Build/Build/54259"
  C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe /nologo /usestderr /testSettings:"C:\Builds\18\Enterprise\Chimera Trunk CI\Sources/Services/Local.testsettings" /testcontainer: ............ /category:"Mock" 

  Loading C:\Builds\18\Enterprise\Sources\Services\Local.testsettings...
  Loading C:\Builds\18\Enterprise\Binaries\Debug\DataTests.dll...
  Loading C:\Builds\18\Enterprise\Binaries\Debug\Library.Tests.dll...
  Loading C:\Builds\18\Enterprise\Binaries\Debug\Common.Tests.dll...
  Starting execution...
  No tests to execute.
  .............

任何想法,我迷路了???

谢谢!

【问题讨论】:

  • 我假设您没有使用默认的 2013 构建模板,因为它有一个用于运行单元测试的 vstest 运行器活动(vstest 是 mstest 的替代品)。您可以从简单开始并使用默认模板运行基本构建并从那里构建吗?如果您只是为了运行单元测试而陷入低级目标文件的胆量中,那么您可能在某个地方出错了
  • 我同意,但是这个地方在他们的构建过程中有很多定制,会影响下游流程。我可以让构建和所有定制工作,它只是没有运行测试。我将尝试分解为仅测试并查看。

标签: tfs msbuild


【解决方案1】:

据此: Running MSTEST.exe /publish on a TeamBuild server, what are the prerequisites?

您需要在 CI 服务器上安装 Team Explorer(甚至 Visual Studio),以使 MsTest.exe 支持额外的开关,如“/publish”、“/teamproject”等。

【讨论】:

    【解决方案2】:

    我们终于从另一个构建服务器复制了 msbuild.exe,一切正常。可执行文件的大小和版本相同。去图吧。

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2023-03-18
      • 2013-09-21
      • 2011-12-07
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2014-06-30
      相关资源
      最近更新 更多