如何判断我的xUnit测试是串行运行还是并行运行?
识别xUnit测试的串行/并行运行状态(无需修改测试代码)
通过诊断日志查看
执行命令dotnet test -v diag,在输出的诊断日志中搜索以下关键词,即可对应找到测试的并行状态:Test collection is parallelizable:该测试集合允许并行执行,集合内的测试可并行运行Test collection is not parallelizable:该测试集合被限制为串行执行,集合内所有测试按顺序运行
日志中会同时列出每个测试所属的集合,对应就能明确单个测试的运行限制。
检查配置与特性定义
查看测试项目下的xunit.runner.json配置文件,其中的parallelizeTestCollections控制全局测试集合是否允许并行,maxParallelThreads限制并行线程数。
同时检查测试代码中的特性:- 带有
[Collection("xxx")]的测试类,若对应的集合定义([CollectionDefinition])中设置了DisableParallelization = true,则该类下的所有测试串行运行 - 未指定集合或集合未禁用并行的测试,默认属于可并行的集合
- 带有
IDE测试资源管理器查看
在Visual Studio或Rider等IDE的测试资源管理器中,测试会按集合分组。禁用并行的集合可通过测试属性或分组标识确认,这类集合下的测试都会串行执行;无特殊标记的集合则默认支持并行。
内容的提问来源于stack exchange,提问作者Wallace
相关产品推荐
相关产品推荐

