2017-03-06 17 views
6

--runInBand veya --maxWorkers 1 seçeneklerinin her birinin kullanılması uygun olduğunda? Benim amacım sırayla tüm testleri sırayla (sırayla birer tane) çalıştırmaksa, hangisi doğru seçenektir?Jest: Fark bahis --runInBand ve --maxWorkers 1


Ekstra detay: Ben entegrasyon testleri supertest üzerinden HTTP bitiş noktaları isabet ile, bir NodeJs express uygulamayı test etmek Jest kullanıyorum

. Bu, cevabın herhangi bir fark yaratmayacağı anlamına gelebilir.

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

İlgili parçalar:

--maxWorkers=<num>

Alias: -w

İşte Jest CLI kaynaktır. Çalışan havuzunun koşu testleri için üreteceği maksimum işçi sayısını belirtir. Bu, makinenizde bulunan çekirdeklerin sayısına göre varsayılan değerdir. Bunu CI'lar gibi kaynak sınırlı ortamlarda ayarlamak yararlı olabilir, ancak varsayılan çoğu kullanım durumu için yeterli olmalıdır.

--runInBand

Alias: -i. Testleri yürüten çocuk süreçlerinin çalışan havuzunu oluşturmak yerine, tüm testleri seri halde yürütün. Bu hata ayıklama için yararlı olabilir.

cevap

3

Fark yoktur. Burada args okunan alır yöntem nesnesi var:

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