TFS2010:发布nUnit测试结果

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

PublishNUnitReportToTfs: "C:\Program Files (x86)\MSBuild..\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe" /publish:"http://TFSBuildServer:8080/tfs/Acme Development" /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) Test Execution Command Line Tool Version 10.0.30319.1
版权所有(c) Microsoft Corporation。 保留所有权利。 等待发布... 'D:\Builds\2\myApp\ci2.myApp.acme.com\Sources\nUnitResultsAsMsTestResults.xml'文件是在早期版本的Visual Studio中创建的。该文件将仅在内存中转换为当前格式。正在将tfssvc@TFSBuildServer 2011-05-26 15:47:54的测试运行结果发布到http://TFSBuildServer:8080/tfs/Acme Development... ...........发布成功。

我是否漏掉了什么?
3个回答

3
我使用了这个网站来做到这一点。希望这可以帮助你。
我假设您通过修改构建模板定义,将nunit测试添加到了您的构建中?

3
我找到了!在运行“构建质量指标”报告并调整报告参数后,我注意到除了“Any CPU”之外还有一个奇怪的平台值“AnyCPU”。然后我检查了TFS仓库数据库,并发现我的测试结果已经被存储到了数据库中。因此,我将mstest调用中的平台标志更改为静态值“Any CPU”,而不是使用$(Platform)构建属性,这样问题就得到解决了。希望这能帮助其他人。

1
确保在您发布测试所针对的构建中,在MsTest命令中指定正确的构建编号、平台和风格。在TFS 2010中发布测试结果时,并不会检查是否存在具有平台Y和风格Z的构建X,它只是将测试结果存储在这样的配置下。当您查询构建时,构建服务将尝试查找与其构建配置匹配的测试结果。因此,如果实际构建配置与发布测试结果时指定的配置不匹配,则测试结果将不会显示在构建详细信息视图中。
您几天前询问了关于“Dev”和“Test”而非“Debug”和“Release”的自定义配置,但我在这个命令中看到您指定了/flavor:“Debug”,所以我认为那可能是问题所在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接