--runInBand
または--maxWorkers 1
オプションのそれぞれをいつ使用するのが適切ですか?
私の意図がすべてのテストを順番に(一度に1つずつ)実行することである場合、どれが正しいオプションですか?
追加の詳細:
私はJestを使用してNodeJsexpress
アプリケーションをテストしており、統合テストは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);
}
}
--runInBand
および--maxWorkers=1
同じ振る舞いをします。