shard
- 类型:
{ count: number; index: number } - 默认值:
undefined - CLI:
--shard <index>/<count>
将测试文件分片以进行并行运行。
count 表示总的 shard 数量,index 表示当前 shard 的索引(从 1 开始)。
该选项只能在配置文件的顶层设置,不能在单个 project 中设置。
这对于在 CI/CD 环境中并行化测试非常有用,可以将测试套件分成多个部分,并在不同的作业中独立运行它们,从而减少整体测试时间。
注意事项
- 当使用
--shard选项时,请确保count和index的值是有效的。 - 测试文件将按其路径进行排序,以确保在不同的运行中 sharding 结果一致。
- sharding 发生在测试文件扫描阶段,早于构建过程,以优化性能。
合并分片报告
在 CI 中使用分片时,每个分片会独立产生自己的测试报告和覆盖率数据。要将所有分片的结果合并为一个统一的报告,请使用 blob 报告器配合 rstest merge-reports 命令。
步骤一:使用 blob 报告器运行分片
配置每个分片使用 blob 报告器输出结果:
每个分片会将结果写入 .rstest-reports/blob-{index}-{count}.json。
步骤二:合并报告
所有分片完成后,将所有 blob 文件收集到同一个 .rstest-reports/ 目录中,然后运行:
这将合并所有测试结果,使用你配置的报告器生成统一的汇总报告,并合并覆盖率数据。
有关 merge-reports 命令的更多详细信息,请参阅 CLI 文档。