每个测试程序集的 VSTest 任务并行化

VSTest Task Parallelization for each test assembly

我有多个测试程序集的场景:TestAssembly1.dll、TestAssembly2.dll、TestAssembly3.dll、... 这些程序集中的每一个都包含多个测试,但在一个程序集内测试必须按顺序执行,因为外部依赖性对于每个程序集都是唯一的。

是否可以 运行 使用 VSTest 任务在 DevOps Server 2020 上的程序集级别上并行处理这些程序集中的每一个?此任务使用 vstest.console.exe 并且它可以选择启用并行性,但据我了解,这会并行执行每个测试,而不是在汇编级别。

为了编写测试,我们使用 NUnit 3。

VSTest Task Parallelization for each test assembly

您可以尝试在 NUnit 的程序集级别激活并行功能,方法是在 AssemblyInfo.cs 文件中添加以下行:

[assembly: Parallelizable(ParallelScope.Fixtures)]

上面的代码行将使所有灯具 类 到 运行 并行。

请参阅此文档Specifying Parallelism at Multiple Test Levels了解更多详情。