2017-03-06 145 views
6

什麼時候適合使用--runInBand--maxWorkers 1各個選項?Jest:差異-runInBand和--maxWorkers 1

如果我的目的是按順序運行所有測試(一次一個,按順序),那麼這些是正確的選項?


額外的細節:

我用玩笑來測試的NodeJS應用express與集成測試通過supertest擊中HTTP端點。這可能對答案沒有任何影響,只是在相關的情況下提及。

這裏的玩笑CLI參考:

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

相關部分:

--maxWorkers=<num>

別名:-w。指定工作池爲運行測試而產生的最大工作者數量。這默認爲您的機器上可用的內核數量。在CI等資源有限的環境中進行調整可能很有用,但對於大多數使用情況,默認值應該足夠。

--runInBand

別名:-i。在當前進程中連續運行所有測試,而不是創建運行測試的子進程的工作池。這對調試很有用。

回答

3

沒有區別。在此處,它被從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