目标
不断增长的单元套件在 CI 上耗时过长,而单纯增加 worker 会带来抖动失败。本配方改用 threads 池并限制 worker 数量,让文件并行执行以缩短墙钟时间,同时对修改全局状态的测试保留隔离,避免跨文件泄漏;提醒需先消除抖动,加速才有意义。
步骤要点
- 使用 threads 池并设置 worker 数量上限。
- 对修改共享全局状态的测试开启隔离。
- 把 maxThreads 控制在核心数以下以避免内存不足。
- 重复运行确认无新增抖动失败。
export default {
test: {
pool: 'threads',
poolOptions: { threads: { minThreads: 2, maxThreads: 4 } },
},
};
排错提示
- 隔离会带来启动开销。
- 并行会放大共享资源缺陷。
- 需先消除抖动再提速。
适用边界
- 并行度受 CI 核心与内存限制。
- 不解决测试本身的抖动根因。