更新和摘要:我需要(通过API /自定义活动设定)在执行期间设置某个版本的flavor
和Platform
。
我已在Team Build 2010中实现了一个工作流(从DefaultTemplate.xaml扩展),该工作流允许仅使用NUnit(来自TFS Build Extensions)运行单元测试。如果构建定义不包含任何要构建的项目,则会从“父”构建中复制二进制文件,而是在这些项目上运行测试。
如果您想知道,原因是我们有很多单元测试需要花费大量时间来执行,我们希望能够在完全相同的二进制版本上并行运行这些测试。
我的问题是,如果构建中有编译步骤,测试运行只会显示在构建摘要中。如果测试是在副本上完成的,则不会显示测试结果。我一直在努力找出如何在工作流程中触发这一点,但无济于事。
我可以在日志中看到测试在两种情况下都以相同的方式执行和发布,例如:
> Running C:\Program Files (x86)\NUnit
> 2.5.7\bin\net-2.0\nunit-console.exe /nologo /labels "Framework.Tests.dll"
> /exclude="Weekly,Manual"
> /xml="D:\TFS\UT_2\Bin\Release\NUnitResults.xml"
> /out="NUnitOutput.txt" ... Processing
> D:\TFS\UT_2\Bin\Release\NUnitResults.xml Running
> C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\Common7\Tools\\..\IDE\MSTest.exe /publish:"http://tfs.myfirm.com:8080/tfs/DefaultCollection"
> /publishresultsfile:"D:\TFS\UT_2\Bin\Release\NUnitResults.trx"
> /publishbuild:"UT-MyProduct_1.18.0.1366.1"
> /teamproject:"MyProject" /platform:"x64" /flavor:"Release" Microsoft
> (R) Test Execution Command Line Tool Version 10.0.30319.1 Copyright
> (c) Microsoft Corporation. All rights reserved. Waiting to
> publish... Publishing results of test run tfsbuild@BUILDSERVER
> 2012-03-30 10:53:28 to
> http://tfs.myfirm.com:8080/tfs/DefaultCollection...
> .................Publish completed successfully.
通过修复构建顺序,我至少设法为构建提供正确的结果。 MSTest使用的构建ID是正确的,但我现在猜测它与此构建没有获得platform
和flavor
的任何值有关。这些值是否可以手动设置?