TFS 2013 版本未 运行 测试

TFS 2013 build doesn't run tests

我们的构建未能通过 运行 单元测试。

我们将 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\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"

如果我删除那些开关(我在上面的代码中做了一些,and/or 设置了 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\Enterprise\Chimera Trunk CI\Sources/Services/Local.testsettings" /testcontainer: ............ /category:"Mock" 

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

有什么想法吗,我迷路了???

谢谢!

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

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

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