什么时候适合使用--runInBand
或--maxWorkers 1
选项?
如果我的目的是依次运行所有测试(一次一次,依次进行),那么以下哪项是正确的选择?
额外细节:
我正在使用Jest测试NodeJs的express
应用程序,集成测试通过supertest
命中HTTP端点。这可能对答案没有任何影响,只是在相关时提及。
这是Jest CLI引用:
https://facebook.github.io/jest/docs/cli.html
相关零件:--maxWorkers=<num>
别名:-w。指定工作池为运行测试而产生的最大工作程序数。默认为您计算机上可用内核的数量。在资源有限的环境(例如CI)中进行调整可能会很有用,但是默认值对于大多数用例而言都足够了。--runInBand
别名:-i。在当前进程中串行运行所有测试,而不是创建运行测试的子进程的工作程序池。这对于调试很有用。
最佳答案
没有区别。这是从args对象中读取方法:
export default function getMaxWorkers(argv: Argv): number {
if (argv.runInBand) {
return 1;
} else if (argv.maxWorkers) {
return parseInt(argv.maxWorkers, 10);
} else {
const cpus = os.cpus().length;
return Math.max(argv.watch ? Math.floor(cpus / 2) : cpus - 1, 1);
}
}
original source code on github