web-dev-qa-db-ja.com

ジェスト:-runInBandと--maxWorkers1の違い

--runInBandまたは--maxWorkers 1オプションのそれぞれをいつ使用するのが適切ですか?

私の意図がすべてのテストを順番に(一度に1つずつ)実行することである場合、どれが正しいオプションですか?


追加の詳細:

私はJestを使用してNodeJsexpressアプリケーションをテストしており、統合テストはsupertestを介してHTTPエンドポイントに到達しています。これは答えに何の違いももたらさないかもしれません、それが関連する場合に備えて言及するだけです。

Jest CLIリファレンスは次のとおりです。

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

関連部品:

--maxWorkers=<num>

エイリアス:-w。テストを実行するためにワーカープールが生成するワーカーの最大数を指定します。これは、デフォルトで、マシンで使用可能なコアの数になります。 CIのようなリソースが限られた環境でこれを調整することは有用かもしれませんが、ほとんどのユースケースではデフォルトで十分です。

--runInBand

エイリアス:-i。テストを実行する子プロセスのワーカープールを作成するのではなく、現在のプロセスですべてのテストを順次実行します。これはデバッグに役立ちます。

16
bguiz

違いはありません。 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);
  }
}

githubの元のソースコード

17
eremzeit

--runInBandおよび--maxWorkers=1同じ振る舞いをします。

0
Ersel Aker