什么时候适合使用--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

08-17 13:21