dotnet测试:如何将程序集名称包含到.trx结果文件中?

时间:2019-01-24 20:25:53

标签: .net testing tfs .net-core trx

我正在使用TFS服务器上的构建来运行测试解决方案。我正在使用命令

生成.trx文件
dotnet test --logger:trx;

整个解决方案,其中包括多个测试项目。但是,默认的.trx文件名不包含对链接到的测试项目的显式引用,而我需要使用它来自动生成报告。他们将用户,机器,日期和时间连接在一起,就是这样。

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

是否可以通过命令行和/或在我的TFS构建定义(可能包含变量)中将项目名称动态添加到trx文件中?我还没有找到任何东西。

谢谢!

1 个答案:

答案 0 :(得分:1)

可以完成此操作的一种方法是访问run the tests via a 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);
}