【问题标题】:Running NUnit Tests in TFS 2010, Tests Run but Get Error Publishing Results在 TFS 2010 中运行 NUnit 测试,测试运行但发布结果时出错
【发布时间】:2013-05-15 15:55:11
【问题描述】:

我已使用社区 TFS 构建扩展在 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="输出文件.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\Binaries\outputxmlfile.trx" /publishbuild:"ChinookEF_5_Build_Definition_20130515 .9" /teamproject:"gd_Chinook" /platform:"任何 CPU" /flavor:"调试" 错误:系统找不到指定的文件。堆栈跟踪:在 System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 在 TfsBuildExtensions.Activities.CodeQuality.NUnit.RunProcess(String fullPath, String workingDirectory, String arguments) 在 TfsBuildExtensions.Activities.CodeQuality.NUnit.PublishMSTestResults(String resultTrxFile, String collectionUrl, String buildNumber, String teamProject, String platform, String flavor) at TfsBuildExtensions.Activities.CodeQuality.NUnit.PublishTestResultsToTFS(ActivityContext context, String folder) at TfsBuildExtensions.Activities.BaseCodeActivity.Execute(CodeActivityContext context)。

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

如果有人以前遇到过这个问题,任何帮助或建议将不胜感激。

斯蒂芬

【问题讨论】:

    标签: tfs msbuild nunit


    【解决方案1】:

    我已经为自己的问题找到了解决方案。问题的根源在于使用 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 测试现在正在发布!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多