我们的构建无法运行单元测试。
我们将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(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.
.............
任何想法,我都迷路了???
谢谢!
答案 0 :(得分:1)
根据这个: Running MSTEST.exe /publish on a TeamBuild server, what are the prerequisites?
您需要在CI服务器上安装Team Explorer(甚至Visual Studio),以使MsTest.exe支持其他开关,如'/ publish','/ teamproject'等。
答案 1 :(得分:0)
我们终于从另一个构建服务器复制了msbuild.exe,但一切正常。可执行文件的大小和版本相同。去图。