Running VS2010 UnitTests project from TFS2008 Team Build

妖精的绣舞 提交于 2019-11-27 19:05:23

问题


I have a Visual Studio 2010 MVC 3 application with unit tests projects in it. I have a TFS 2008 build definition to build the solution.

On the build agent i have got following installed

  • VS2008 team system developer edition
  • VS2010 Professional installed
  • I have updated the msbuildpath in the tfsservice.exe.config to .NET 4 farmework
  • Deleted all the workspaces
  • Have followed all the steps at http://blog.aggregatedintelligence.com/2011/03/vs2010-tfs-2008-and-unit-tests.html

But when i run the build I get the following error:-

Using "TestToolsTask" task from assembly "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.Build.ProcessComponents.dll".
    Task "TestToolsTask"
      C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe /nologo /usestderr /searchpathroot:"c:\TFS\Core\Crime\Binaries\Release" /resultsfileroot:"c:\TFS\Core\Crime\TestResults" /testcontainer:"c:\TFS\Core\Crime\Binaries\Release\\Project1.UnitTests.dll" /testcontainer:"c:\TFS\Core\Crime\Binaries\Release\\Project2.UnitTests.dll" /testcontainer:"c:\TFS\Core\Crime\Binaries\Release\\Project3.UnitTests.dll" /testcontainer:"c:\TFS\Core\Crime\Binaries\Release\\Project4.UnitTests.dll" /publish:"http://server:8080/" /publishbuild:"vstfs:///Build/Build/88124" /teamproject:"Core" /platform:"Any CPU" /flavor:"Release" 
      Invalid switch "/publish".
      Invalid switch "/publishbuild".
      Invalid switch "/teamproject".
      Invalid switch "/platform".
      Invalid switch "/flavor".
      For switch syntax, type "MSTest /help"
    C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(1406,5,1406,5): warning : TF270015: 'MSTest.exe' returned an unexpected exit code. Expected '0'; actual '1'. 
      The previous error was converted to a warning because the task was called with ContinueOnError=true.
    C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(1406,5): warning MSB4018: The "TestToolsTask" task failed unexpectedly. [c:\TFS\Core\Crime\BuildType\TFSBuild.proj]
    C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(1406,5): warning MSB4018: Microsoft.TeamFoundation.Build.Workflow.Activities.UnexpectedExitCodeException: TF270015: 'MSTest.exe' returned an unexpected exit code. Expected '0'; actual '1'.

If I run the mstest command directly on the build server via commandline without the switches it works fine. I don't understand why its trying to add these switches. any idea?


回答1:


You need VS 2010 Premium or Ultimate installed to use those switches in MSTest.exe. You can get around this sort of by just doing an Exec of MSTest with the switches you want, but then you won't see the results as nicely in your build.




回答2:


The switches are added because MSTest is trying to publish the test results to the server so that you can see the information in the build log in team build explorer, as well as in the cube for reporting, etc.

Assuming you installed Team Explorer 2010 when you installed VS2010 Professional you should be able to publish the test results (unless the licensing requires premium or ultimate - I can't remember). It might be worth reinstalling and reapplying the service pack to see if that fixes the problem.




回答3:


I had problem with spaces in my dll-path. The quotation marks didn't work (probably because I missed something obvious?). I did NOT have VS installed on the machine.



来源:https://stackoverflow.com/questions/5624520/running-vs2010-unittests-project-from-tfs2008-team-build

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!