Saya menjalankan tes Jest melalui npm test
. Jest menjalankan tes secara paralel secara default. Apakah ada cara untuk membuat pengujian berjalan secara berurutan?
Saya memiliki beberapa tes yang memanggil kode pihak ketiga yang bergantung pada perubahan direktori kerja saat ini.
npm test --runInBand
? Offtopic: Tidak yakin dari mana asal nama "band". --runSequentially mungkin akan lebih masuk akal :)npm test -- --runInBand
benar.Saya masih terbiasa dengan Jest, tetapi tampaknya mendeskripsikan blok berjalan secara sinkron sedangkan blok pengujian berjalan secara asinkron. Saya menjalankan beberapa blok deskripsi dalam deskripsi luar yang terlihat seperti ini:
Dalam hal ini,
test3
tidak berjalan sampaitest2
selesai karenatest3
berada dalam blok yang menjelaskan yang mengikuti blok yang berisitest2
.sumber
Ini berfungsi untuk saya memastikan berjalannya sekuensial dari tes modul yang dipisahkan dengan baik:
1) Simpan tes dalam file terpisah, tetapi tanpa
spec/test
penamaan.2) File dengan rangkaian pengujian juga akan terlihat seperti ini (testSuite1.js):
3) Impor
testToRunSequentially.test.js
dan jalankan dengan--runInBand
:sumber
Gunakan runner pengujian serial:
Siapkan lelucon untuk menggunakannya, misalnya di jest.config.js:
Anda dapat menggunakan fitur proyek untuk menerapkannya hanya pada subset pengujian. Lihat https://jestjs.io/docs/en/configuration#projects-arraystring--projectconfig
sumber
Seperti disalin dari https://github.com/facebook/jest/issues/6194#issuecomment-419837314
test.spec.js
signup.js
login.js
sumber