4

我正在运行一个在 TFS 服务器上构建的测试解决方案。我正在使用命令生成 .trx 文件

dotnet test --logger:trx;

整个解决方案,其中包括多个测试项目。但是,默认的 .trx 文件名不包含对它们链接到的测试项目的显式引用,我需要它来进行自动报告。它们连接用户、机器、日期和时间,仅此而已。

我知道我可以使用 LogFileName={FullPath} 在命令行中指定完整路径和名称,但这不是动态的,因为您必须指定名称并且仅适用于每个项目级别而不适用于完整解决方案(这是有道理的,因为您不能对多个测试结果文件使用相同的路径和名称)。

有没有办法通过命令行和/或我的 TFS 构建定义(可能带有变量)将项目名称动态地放入 trx 文件中?我还没有找到任何相关信息。

提前致谢 !

4

1 回答 1

1

实现这一点的一种方法是通过 cake script 运行测试

foreach (var project in GetFiles($"../Tests/*/*.csproj"))
{
    var projectName = project.GetFilenameWithoutExtension();
    var dotNetTestSettings = new DotNetCoreTestSettings
    {
        Logger = $"trx;LogFileName={projectName}.trx",
        ResultsDirectory = "./TestResults",
    };
    DotNetCoreTest(project.FullPath, dotNetTestSettings);
}
于 2019-11-14T15:50:03.563 回答