在TFS 2010中运行NUnit测试,测试运行但获取错误发布结果

时间:2013-05-15 15:55:11

标签: tfs msbuild nunit

我使用了社区TFS Build Extensions在TFS 2010中为我的构建模板添加了NUnit测试支持。我创建了我的构建定义,我的项目正在构建中。我的NUnit测试似乎也在完成,但是当我尝试将* .trx测试结果文件发布到TFS时,我收到“找不到文件”错误?我似乎无法解决它在哪里;出错了以及在哪里做出任何改变。错误如下:

查找包含nUnit测试的文件

  

NUnit的   运行C:\ Program Files(x86)\ NUnit 2.6.2 \ bin   unit-console.exe / nologo“C:\ Builds \ 1 \ gd_Chinook \ ChinookEF_5_Build_Definition \ Binaries \ tcg.Chinook.Test.dll”/xml="C:\Builds\1\gd_Chinook\ChinookEF_5_Build_Definition\Binaries\outputxmlfile.xml“ /out="outputfile.txt”   处理C:\ Builds \ 1 \ gd_Chinook \ ChinookEF_5_Build_Definition \ Binaries \ outputxmlfile.xml   正在运行%VS110COMNTOOLS%.. \ IDE \ MSTest.exe / publish:“链接到我们的TFS构建已移除StackOverflow”/publishresultsfile:"C:\Builds\1\gd_Chinook,ChinookEF_5_Build_Definition\Bnaries\outputxmlfile.trx“/ publishbuild:”ChinookEF_5_Build_Definition_20130515 .9“/ teamproject:”gd_Chinook“/ platform:”任何CPU“/ flavor:”Debug“    错误:系统找不到指定的文件。堆栈跟踪:位于TfsBuildExtensions.Activities.CodeQuality.NUnit.RunProcess(String fullPath,String workingDirectory,String arguments)的System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo),位于TfsBuildExtensions.Activities.CodeQuality.NUnit.PublishMSTestResults(String resultTrxFile,String在TfsBuildExtensions.Activities.BaseCodeActivity.Execute(CodeActivityContext context)的TfsBuildExtensions.Activities.CodeQuality.NUnit.PublishTestResultsToTFS(ActivityContext context,String folder)中的collectionUrl,String buildNumber,String teamProject,String platform,String flavor)。

     

关联变更集和工作项   分析标签ChinookEF_5_Build_Definition_20130515.6和ChinookEF_5_Build_Definition_20130515.9。    系统找不到指定的文件

如果有人以前遇到过这个问题,我们将非常感谢任何帮助或建议。

斯蒂芬

1 个答案:

答案 0 :(得分:0)

我已经解决了我自己的问题。问题的根源来自使用VS2012开发和创建构建定义并发布到TFS2010。

我的测试结果发布到TFS时发生了错误。以下命令尝试运行并生成错误:错误:系统找不到指定的文件... (从帖子中省略堆栈跟踪):

%VS110COMNTOOLS%\..\IDE\MSTest.exe /publish:"http://artigas:8080/tfs/NorthernDevelopmentTeam" /publishresultsfile:"C:\Builds\1\gd_Chinook\ChinookEF_5_Build_Definition\Binaries\outputxmlfile.trx" /publishbuild:"ChinookEF_5_Build_Definition_20130515.9" /teamproject:"gd_Chinook" /platform:"Any CPU" /flavor:"Debug"

经过一番研究后,我注意到它试图从VS2012目录而不是VS2010目录运行命令行。如果我将%VS110COMNTOOLS%\更改为%VS100COMNTOOLS%,我可以手动运行该命令。

为了解决这个问题,我在构建服务器上安装了VS2012。我希望避免这种情况,只要您安装.NET4.5和其他可靠项,构建本身就能正常工作。这确实解决了我的问题,我的nUnit测试现在正在发布!