更新和总结:我需要(通过 API/自定义活动假设)设置某个构建flavor
并Platform
在其执行期间。
我在 Team Build 2010 中实现了一个工作流(从 DefaultTemplate.xaml 扩展),它允许仅使用 NUnit(来自 TFS Build Extensions)运行单元测试。如果构建定义不包含任何要构建的项目,则从“父”构建复制二进制文件,并在这些文件上运行测试。
如果您想知道,原因是我们有很多单元测试需要花费大量时间来执行,我们希望能够在完全相同的二进制文件版本上并行运行这些测试。
我的问题是,如果 build 中有编译步骤,测试运行只会显示在 build summary中。如果测试是在副本上完成的,则不会显示测试结果。我一直在努力找出这是如何在工作流程中触发的,但无济于事。
我可以在日志中看到测试在两种情况下都以相同的方式执行和发布,例如:
> 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
and flavor
。这些值是否可以以某种方式手动设置?