【问题标题】:Jest: Difference betwen --runInBand and --maxWorkers 1笑话:--runInBand 和--maxWorkers 1 之间的区别
【发布时间】:2017-07-26 23:53:50
【问题描述】:

什么时候适合使用--runInBand--maxWorkers 1 选项?

如果我的意图是按顺序运行所有测试(一次一个,按顺序),以下哪一个是正确的选择?


额外细节:

我正在使用 Jest 测试 NodeJs express 应用程序,集成测试通过 supertest 访问 HTTP 端点。这可能对答案没有任何影响,只是在相关的情况下提及。

这是 Jest CLI 参考:

https://facebook.github.io/jest/docs/cli.html

相关部分:

--maxWorkers=<num>

别名:-w。指定工作池将为运行测试生成的最大工作人员数。这默认为您机器上可用的内核数。在 CI 等资源有限的环境中调整它可能很有用,但默认值对于大多数用例来说应该足够了。

--runInBand

别名:-i。在当前进程中连续运行所有测试,而不是创建运行测试的子进程的工作池。这对于调试很有用。

【问题讨论】:

    标签: javascript node.js testing jestjs


    【解决方案1】:

    --runInBand--maxWorkers=1 具有相同的行为。

    【讨论】:

      【解决方案2】:

      没有区别。这是从 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-01
        • 2021-12-16
        • 1970-01-01
        • 1970-01-01
        • 2020-04-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多