开玩笑:--runInBand 和--maxWorkers 之间的差异 1
Jest: Difference betwen --runInBand and --maxWorkers 1
何时适合使用每个 --runInBand
或 --maxWorkers 1
选项?
如果我的意图是 运行 按顺序进行所有测试(一次一个,按顺序),哪一个是正确的选择?
额外的细节:
我正在使用 Jest 测试 NodeJs express
应用程序,集成测试通过 supertest
访问 HTTP 端点。这可能对答案没有任何影响,只是在相关的情况下提及。
这是 Jest CLI 参考:
https://facebook.github.io/jest/docs/cli.html
相关部分:
--maxWorkers=<num>
别名:-w。指定工作池将为 运行ning 测试生成的最大工作人员数。这默认为您机器上可用的核心数。在 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);
}
}
--runInBand
和 --maxWorkers=1
具有相同的行为。
何时适合使用每个 --runInBand
或 --maxWorkers 1
选项?
如果我的意图是 运行 按顺序进行所有测试(一次一个,按顺序),哪一个是正确的选择?
额外的细节:
我正在使用 Jest 测试 NodeJs express
应用程序,集成测试通过 supertest
访问 HTTP 端点。这可能对答案没有任何影响,只是在相关的情况下提及。
这是 Jest CLI 参考:
https://facebook.github.io/jest/docs/cli.html
相关部分:
--maxWorkers=<num>
别名:-w。指定工作池将为 运行ning 测试生成的最大工作人员数。这默认为您机器上可用的核心数。在 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);
}
}
--runInBand
和 --maxWorkers=1
具有相同的行为。