Saya menggunakan Mocha untuk menguji aplikasi NodeJS saya. Saya tidak dapat menemukan cara menggunakan fitur jangkauan kode-nya. Saya mencoba googling tetapi tidak menemukan tutorial yang tepat. Tolong bantu.
node.js
unit-testing
code-coverage
mocha
tusharmath
sumber
sumber
istanbul cover node_modules/mocha/bin/_mocha
.istanbul.cmd cover C:\Users\{UserName}\AppData\Roaming\npm\node_modules\mocha\bin\_mocha
$(npm bin)
adalah jalan pintas kanonik ke./node_modules/.bin/
, danistanbul/lib/cli.js
alias keistanbul
dalam folder bin. Jadi, inilah perintah yang lebih pendek:$(npm bin)/istanbul cover $(npm bin)/_mocha -- --ui bdd -R spec -t 5000
istanbul cover node_modules/mocha/bin/_mocha -- -R spec
Sekarang ( 2020 ) cara yang lebih disukai untuk menggunakan istanbul adalah melalui antarmuka "state of the art command line" nyc .
Mempersiapkan
Pertama, instal di proyek Anda dengan
Kemudian, jika Anda memiliki proyek berbasis npm, cukup ubah skrip pengujian di dalam
scripts
objek file package.json Anda untuk mengeksekusi cakupan kode pengujian mocha Anda :Lari
Sekarang jalankan tes Anda
dan Anda akan melihat tabel seperti ini di konsol Anda, tepat setelah hasil tes Anda:
Kustomisasi
Laporan html
Gunakan saja
bukannya
text
. Sekarang akan menghasilkan laporan di dalamnya./coverage/index.html
.Format laporan
Istanbul mendukung beragam format laporan. Lihat saja perpustakaan laporannya untuk menemukan yang paling berguna bagi Anda. Cukup tambahkan
--reporter=REPORTER_NAME
opsi untuk setiap format yang Anda inginkan. Misalnya denganAnda akan memiliki konsol dan laporan html.
Jangan jalankan cakupan dengan uji npm
Cukup tambahkan skrip lain di dalam Anda
package.json
dan tinggalkantest
skrip dengan hanya pelari ujian Anda (mis. Mocha):Sekarang jalankan skrip khusus ini
untuk menjalankan tes dengan cakupan kode.
Tes paksa gagal jika cakupan kode rendah
Gagal jika cakupan kode total di bawah 90%:
Gagal jika cakupan kode dari setidaknya satu file di bawah 90%:
sumber
--reporter=html
diaktifkan tetapi file html selalu kosong, tidak ada yang ditampilkan tentang blok yang tidak ditemukan atau% tertutup dll. Hanya header tabelBlanket.js juga berfungsi dengan sempurna.
npm install --save-dev blanket
di depan tes / tests.js Anda
Lari
mocha -R html-cov > coverage.html
sumber