我正在使用一个命令从解决方案级别运行所有测试项目:
dotnet test
如何使所有测试项目(程序集)并行运行?
在Visual Studio中有一个简单的按钮"并行运行测试",它可以完美地工作,但我需要使用dotnet core测试命令进行CI。
目前没有支持的方法来传递标志给dotnet test
。 相反,您必须使用配置文件。
xunit.runner.json:
{
"parallelizeAssembly": true
}
parallelizeAssembly
默认为 false
如果该程序集愿意与其他程序集一起参与并行处理,则将其设置为true。测试运行器可以使用此信息,如果所有程序集都同意,则自动启用跨程序集的并行处理。
parallelizeTestCollections
默认为 true
如果该程序集愿意在其中运行测试并使它们相互并行,则将其设置为true。同一个测试集中的测试将按顺序相互运行,但是不同测试集中的测试将相互并行运行。将其设置为false以禁用该测试程序集内的所有并行处理。
dotnet test -- xunit.parallelizeAssembly=true
。出处为 https://github.com/Microsoft/vstest/issues/631 - dani herreraxunit.runner.json
文件中设置"maxParallelThreads": -1
或通过传递相应的命令行命令来保持单线程。 - Dmitry Pavlov