编辑:见@AnaFranco的回答 - 显然自VS2017以来,文件名可以这样配置:
vstest.console.exe [assembly] /logger:trx;LogFileName=[filename].trx
我将把旧答案留给后代和 2017 年之前的版本。
不,你没有错过任何东西。TRX 记录器不支持任何参数(与 TFS 发布者记录器不同)。
记录器组件位于"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions\Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger.dll"
. 如果您在您最喜欢的 .NET 反编译器中检查它,您将看到方法TrxLogger.GetTrxFileName
. 它使用有关当前测试运行的一些基本知识来生成表单的错位名称,{username}_{workstation} {timestamp}.trx
并且无法以明显的方式进行配置。
据我所知,TRX 文件是在TestResults\
当前工作目录下的文件夹中创建的,除非另有配置。你可以做的是:
- 创建一个新的临时文件夹
- 将当前目录更改为它
- 运行测试运行器
- 使用您最喜欢的递归文件搜索方法扫描文件夹中的结果
.trx
文件,您就完成了
至少这是我在构建中所做的(MSBuild,sob):
<ItemGroup>
<TestResult Include="**\*.trx"/>
</ItemGroup>
即.trx
把当前目录下的所有文件都收集起来,塞进@(TestResult)
item group做进一步处理。