Maaf telah menambahkan jawaban lain, tetapi tidak ada jawaban sebelumnya yang cukup berhasil untuk saya pada VS Code 1.8.1 dan debugger Node standar termasuk di dalamnya. Berikut adalah cara saya menyelesaikannya (dengan panduan dari jawaban sebelumnya di sini dan dari dokumen resmi Debugging VS Code Node.js ) jadi ada satu klik / tekan tombol debugging:
- Pastikan mocha dipasang sebagai
devDependency
di packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- Jalankan
npm install
di direktori Anda package.json
untuk memastikan mocha sekarang terpasangnode_modules/
- Buka
.vscode/launch.json
(atau di VS Code, tekan F1, mulai ketik "launch", dan pilih "Debug: Open launch.json")
- Klik tombol biru "Tambahkan Konfigurasi" di kanan bawah (atau cukup salin dan tempel salah satu yang lain); langkah ini opsional ... Maksud saya, Anda dapat menggunakan kembali konfigurasi yang ada. Tapi saya sarankan menambahkan satu agar tidak terlalu membingungkan.
- Ubah perintah berikut di Anda
launch.json
, lalu pilih nama konfigurasi baru di jendela debug di VS Code dan klik panah hijau untuk mulai men-debug tes node + mocha Anda!
Di konfigurasi baru di launch.json:
"configurations": [{
"name": "whatever name you want to show in the VS Code debug list",
"type": "node",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/node_modules/mocha/bin/mocha",
"args": ["--debug-brk=5858", "--no-timeouts", "--colors", "test/**/*.js"],
"address": "localhost",
"port": 5858,
// the other default properties that are created for you are fine as-is
}, ...]
Ini mengasumsikan bahwa pola test/**/*.js
akan bekerja di tempat Anda melakukan pengujian. Ganti sesuai kebutuhan.
Jangan ragu untuk mengubah port selama Anda mengubahnya di kedua properti args
dan port
agar cocok.
Perbedaan utama bagi saya adalah memastikan moka masuk node_modules
, menggunakan program
untuk menunjuk ke yang dapat dieksekusi, dan args
perlu debug-brk=x
menunjuk ke port yang ditentukan di port
. Sisa dari yang di atas hanya membuat segalanya lebih cantik dan mudah.
Terserah Anda dan tim apakah Anda taruh .vscode/launch.json
di repositori atau tidak. Ini adalah file khusus IDE, tetapi seluruh tim Anda dapat menggunakannya seperti ini, tidak masalah, karena semua jalur dan pemasangan bersifat relatif dan eksplisit.
Tip: package.json
Dapat menyertakan scripts
tag yang juga meluncurkan mocha dengan sesuatu seperti "test": "./node_modules/.bin/mocha"
, tetapi tidak digunakan oleh VS Code — melainkan digunakan ketika npm test
dijalankan pada baris perintah. Yang ini membuatku sedikit bingung. Mencatatnya di sini kalau-kalau orang lain juga bingung.
EDIT: VS Code 1.9.0 telah menambahkan opsi "Add Configuration" di drop-down konfigurasi debug, dan Anda dapat memilih "Node.js Mocha Tests" yang membantu menyederhanakan sebagian besar hal di atas. Anda masih perlu memastikan mocha ada di Anda node_modules
dan mungkin harus memperbarui cwd
dan yang terakhir runtimeArgs
(yang merupakan pola untuk menemukan pengujian Anda) untuk menunjuk ke jalur yang sesuai. Tapi begitu Anda menyetel kedua properti itu, seharusnya berfungsi cukup banyak dari sana.
"args"
blok:"--require", "${workspaceFolder}/tools/testSetup.js",