TFS2010:发布nUnit测试结果

时间:2011-05-27 13:19:10

标签: tfs nunit tfs2010

我在项目文件中创建了自定义构建任务来运行我的nUnit测试,使用XSLT将它们转换为MSTest结果格式,并使用所有适当的参数调用mstest / publish。构建似乎是成功的,但我没有在构建报告中获得任何测试结果。

  

PublishNUnitReportToTfs:“C:\ Program   文件(x86)\ MSBuild .. \ Microsoft   视觉工作室   10.0 \ Common7 \ IDE \ mstest.exe“/ publish:”http:// TFSBuildServer:8080 / tfs / Acme   发展”   /publishbuild:"ci2.myApp.acme.com_20110526.15"   /publishresultsfile:"D:\Builds\2\myApp\ci2.myApp.acme.com\Sources\myApp.Core.nUnit.Tests..\nUnitResultsAsMsTestResults.xml”   / teamproject: “对myApp”   / platform:“AnyCPU”/ flavor:“Debug”
  Microsoft(R)测试执行命令   线条工具版本10.0.30319.1
  版权所有(c)Microsoft Corporation。   版权所有。            等待发布...文件   'd:\构建\ 2 \对myApp \ ci2.myApp.acme.com \源头\ nUnitResultsAsMsTestResults.xml'   是在早期版本中创建的   视觉工作室。这个文件将是   仅在记忆中转换为   目前的格式。发布结果   测试运行tfssvc @ TFSBuildServer   2011-05-26 15:47:54来   http://TFSBuildServer:8080/tfs/Acme   发展...... ...........发布   成功完成。

我错过了什么吗?

3 个答案:

答案 0 :(得分:3)

我使用this website来做到这一点。希望这可以帮助。

我假设您已经通过修改构建模板定义为构建添加了nunit测试吗?

答案 1 :(得分:3)

我找到了!

在运行Build Quality Indicators报告并使用报告参数后,我注意到除了“Any CPU”之外还有一个奇怪的平台值,“AnyCPU”。然后我检查了TFS仓库数据库,发现我的测试结果正在进入数据库。所以我将mstest调用中的平台标志更改为静态值“Any CPU”,而不是使用$(Platform)构建属性并修复它。

希望这有助于其他人。

答案 2 :(得分:1)

确保在MsTest命令中为发布测试的构建指定正确的构建号,平台和风格。在TFS 2010中发布测试结果不会检查具有平台Y和flavor Z的构建X是否存在,它只是根据此类配置存储测试结果。当您查询构建时,构建服务将尝试查找与其构建配置匹配的测试结果。因此,实际构建配置与发布测试结果时指定的配置之间的任何不匹配都将导致测试结果未显示在构建详细信息视图中。

前几天你问过自定义配置(“Dev”和“Test”)而不是“Debug”和“Release”,但我在这个命令中看到你指定/ flavor:“Debug”所以我认为可能是这里的罪魁祸首。