我正在使用TFS服务器上的构建来运行测试解决方案。我正在使用命令
生成.trx文件dotnet test --logger:trx;
整个解决方案,其中包括多个测试项目。但是,默认的.trx文件名不包含对链接到的测试项目的显式引用,而我需要使用它来自动生成报告。他们将用户,机器,日期和时间连接在一起,就是这样。
我知道我可以在命令行中使用LogFileName = {FullPath}指定完整路径和名称,但这不是动态的,因为您必须指定名称,并且只能在每个项目级别使用,而不能在完整解决方案上使用(之所以有意义,是因为您不能对多个测试结果文件使用相同的路径和名称。
是否可以通过命令行和/或在我的TFS构建定义(可能包含变量)中将项目名称动态添加到trx文件中?我还没有找到任何东西。
谢谢!
答案 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);
}