Perintah penuh untuk menjalankan uji Jest tunggal
Perintah:
node <path-to-jest> -i <you-test-file> -c <jest-config> -t "<test-block-name>"
<path-to-jest>
:
- Windows:
node_modules\jest\bin\jest.js
- Lainnya:
node_modules/.bin/jest
-i <you-test-file>
: path ke file dengan tes ( js
atau ts
)
-c <jest-config>
: path ke file konfigurasi Jest yang terpisah (JSON), jika Anda menyimpan konfigurasi Jest di dalam, package.json
Anda tidak harus menentukan parameter ini (Jest akan menemukannya tanpa bantuan Anda)
-t <the-name-of-test-block>
: Sebenarnya itu nama (parameter pertama) dari describe(...)
, it(...)
atau test(...)
blok.
Contoh:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
Jadi, perintahnya
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
akan menguji it("1 + 1 = 2", ...)
, tetapi jika Anda mengubah -t
parameter untuk "math tests"
kemudian akan menjalankan kedua tes dari describe("math tests",...)
blok.
Catatan:
- Untuk Windows ganti
node_modules/.bin/jest
dengan node_modules\jest\bin\jest.js
.
- Pendekatan ini memungkinkan Anda untuk men-debug skrip yang sedang berjalan. Untuk mengaktifkan debug, tambahkan
'--inspect-brk'
parameter ke perintah.
Menjalankan tes Jest tunggal melalui skrip NPM di 'package.json'
Setelah menginstal Jest, Anda dapat menyederhanakan sintaks dari perintah ini (di atas) dengan menggunakan skrip NPM . Di "package.json"
tambahkan skrip baru ke "scripts"
bagian:
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
Dalam hal ini, kami menggunakan alias 'jest'
alih-alih menulis path lengkap ke sana. Selain itu, kami tidak menentukan path file config karena kami juga dapat menempatkannya "package.json"
dan Jest akan memeriksanya secara default. Sekarang Anda dapat menjalankan perintah:
npm run test:math
dan "math tests"
blok dengan dua tes akan dieksekusi. Atau, tentu saja, Anda dapat menentukan satu tes khusus dengan namanya.
Opsi lain adalah dengan menarik <the-name-of-test-block>
parameter di luar "test:math"
skrip dan meneruskannya dari perintah NPM:
package.json:
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
Perintah:
npm run test:math "math tests"
Sekarang Anda dapat mengelola nama uji coba dengan perintah yang jauh lebih pendek.
Catatan:
- The
'jest'
perintah akan bekerja dengan NPM script karena
npm membuat "./node_modules/.bin"
entri pertama dalam PATH
variabel lingkungan ketika menjalankan skrip siklus hidup, jadi ini akan berfungsi dengan baik, bahkan jika program Anda tidak diinstal secara global ( NPM blog )
- Pendekatan ini tampaknya tidak memungkinkan debugging karena Jest dijalankan melalui binary / CLI-nya , bukan melalui
node
.
Menjalankan uji Jest yang dipilih dalam Visual Studio Code
Jika Anda menggunakan Visual Studio Code Anda dapat memanfaatkannya dan menjalankan tes yang saat ini dipilih (dalam editor kode) dengan menekan F5
tombol. Untuk melakukan ini, kita perlu membuat blok konfigurasi peluncuran baru di ".vscode/launch.json"
file. Dalam konfigurasi itu, kita akan menggunakan variabel yang sudah ditentukan sebelumnya yang diganti dengan nilai yang sesuai (sayangnya tidak selalu ) ketika berjalan. Dari semua yang tersedia, kami hanya tertarik pada ini:
${relativeFile}
- file yang dibuka saat ini relatif terhadap
${workspaceFolder}
${selectedText}
- teks yang dipilih saat ini dalam file aktif
Tetapi sebelum menulis konfigurasi peluncuran, kita harus menambahkan 'test'
skrip ke dalam 'package.json'
(jika kita belum memilikinya).
package.json:
"scripts": {
"test": "jest"
}
maka kita dapat menggunakannya dalam konfigurasi peluncuran kita.
Luncurkan konfigurasi:
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
sebenarnya melakukan hal yang sama dengan perintah yang dijelaskan sebelumnya dalam jawaban ini. Sekarang semuanya sudah siap, kita dapat menjalankan tes apa pun yang kita inginkan tanpa harus menulis ulang parameter perintah secara manual.
Inilah yang perlu Anda lakukan:
- Pilih konfigurasi peluncuran yang saat ini dibuat di panel debug:
- Buka file dengan tes di editor kode dan pilih nama tes yang ingin Anda uji (tanpa tanda kutip):
- Tekan
'F5'
tombol.
Dan voila!
Sekarang untuk menjalankan tes yang Anda inginkan, cukup buka di editor, pilih namanya dan tekan F5.
Sayangnya, itu tidak akan menjadi "voila" pada mesin Windows karena mereka mengganti (siapa yang tahu mengapa) ${relativeFile}
variabel dengan path yang telah membalikkan garis miring dan Jest tidak akan mengerti jalan seperti itu.
Catatan:
- Untuk berjalan di bawah debugger jangan lupa untuk menambahkan
'--inspect-brk'
parameter.
- Dalam contoh konfigurasi ini, kami tidak memiliki parameter konfigurasi Jest dengan asumsi bahwa itu termasuk dalam
'package.json'
.