Sangat sederhana, saya hanya ingin menjalankan satu pengujian dengan Jest.
Saya menempatkan it.only
atau describe.only
tetapi masih menjalankan banyak tes. Saya pikir itu menjalankan semua tes sejak komit terakhir saya, tetapi seharusnya perilaku ini tidak memiliki only
bendera yang ditetapkan secara eksplisit, bukan?
Apa yang menyebabkan perilaku ini dan cara menjalankan pengujian tunggal?
javascript
unit-testing
jestjs
jpenna.dll
sumber
sumber
Jawaban:
fit
,fdescribe
danit.only
,describe.only
memiliki tujuan yang sama, lewati tes lain, jalankan hanya saya.Sumber: https://github.com/facebook/jest/issues/698#issuecomment-177673281
Gunakan
jest
mekanisme pemfilteran, saat Anda menjalankan pengujian sepertiAnda dapat memfilter pengujian dengan
testname
ataufilename
, cukup ikuti instruksi di terminalTekan
p
, lalu ketik nama fileKemudian Anda dapat menggunakan
describe.only
danit.only
yang akan melewati semua pengujian lain dari file yang difilter dan diuji.sumber
.only
hanya berfungsi untuk pengujian file yang sama?it.only
atauit.skip
untuk satu pengujian yang berisi kesalahan sintaks, semua pengujian akan gagal. Tentu saja kode dari file yang dikecualikan oleh pola tidak akan dijalankan. imgur.com/z9FlQEZif.only
console.logs dari komponen Carousel sebanyak ada tes yang dilewati / tidak dilewati untuk Komponen itu dalam pola jam tangan Anda.it.only
dandescribe.only
hanya berfungsi untuk modul tempat mereka berada. Jika Anda mengalami masalah untuk memfilter pengujian dalam beberapa file, Anda dapat menggunakanjest -t name-of-spec
, memfilter pengujian yang cocok dengan nama spesifikasi (cocok dengan nama dalam mendeskripsikan atau menguji).Sumber: https://facebook.github.io/jest/docs/en/cli.html
Misalnya, saya memfokuskan tes yang saat ini saya tulis seperti ini (dengan skrip tes di
package.json
):npm test -- -t "test foo"
sumber
describe
blok pengujian ). Jika itu kasusnya, Anda harus mempersempit nama tes yang tepat yang ingin Anda fokuskan.seperti ini:
jest sometest.test.js -t "some expression to match a describe or a test"
itu akan menguji semua file dengan nama
sometest.test.js
dan pencocokan berdasarkan opsi -t, jika Anda hanya ingin menguji file tertentu Anda dapat melakukan ini:sumber
launch.json
file konfigurasi VSCode yang akan memicu pengujian pada kasus uji tertentu: medium.com/better-programming/…Bagi saya itu berfungsi jika saya menggunakan 2 params seperti ini:
yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"
Bendera:
--watch: is optional -f: will do filtering of your files, so if you have a lot of tests with the same name, specify the full path to the exact file -t: works with 'describe' name or 'it' name of your test
sumber