ขออภัยที่เพิ่มคำตอบอื่น แต่ไม่มีคำตอบก่อนหน้านี้ที่ใช้ได้กับฉันตั้งแต่ VS Code 1.8.1 และตัวดีบักเกอร์โหนดมาตรฐานที่รวมอยู่ในนั้น นี่คือวิธีที่ฉันแก้ไข (พร้อมคำแนะนำจากคำตอบก่อนหน้านี้ที่นี่และจากเอกสารการดีบัก VS Code Node.jsอย่างเป็นทางการ) ดังนั้นจึงมีการดีบักแบบคลิก / กดปุ่มเดียว:
- ตรวจสอบให้แน่ใจว่าได้ติดตั้งมอคค่าไว้
devDependency
ในpackages.json
:"devDependencies": { "mocha": "^3.2", ... }
- เรียกใช้
npm install
ในไดเร็กทอรีของคุณpackage.json
เพื่อให้แน่ใจว่าได้ติดตั้งมอคค่าแล้วnode_modules/
- เปิด
.vscode/launch.json
(หรือใน VS Code กด F1 เริ่มพิมพ์ "launch" และเลือก "Debug: Open launch.json")
- คลิกปุ่ม "เพิ่มการกำหนดค่า" สีน้ำเงินที่ด้านล่างขวา (หรือเพียงแค่คัดลอกและวางรายการอื่นของคุณ) ขั้นตอนนี้เป็นทางเลือก ... ฉันหมายถึงคุณสามารถใช้การกำหนดค่าที่มีอยู่ซ้ำได้ แต่ฉันขอแนะนำให้เพิ่มหนึ่งรายการเพื่อไม่ให้สับสน
- เปลี่ยนสิ่งต่อไปนี้ในของคุณ
launch.json
จากนั้นเลือกชื่อการกำหนดค่าใหม่ในหน้าต่างดีบักใน VS Code แล้วคลิกลูกศรสีเขียวเพื่อเริ่มการดีบักโหนด + การทดสอบมอคค่าของคุณ!
ในการกำหนดค่าใหม่ใน 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
}, ...]
สิ่งนี้ถือว่ารูปแบบtest/**/*.js
จะใช้ได้กับตำแหน่งที่คุณทำการทดสอบ เปลี่ยนตามความเหมาะสม.
อย่าลังเลที่จะเปลี่ยนพอร์ตตราบเท่าที่คุณเปลี่ยนทั้งในคุณสมบัติargs
และport
คุณสมบัติให้ตรงกัน
ความแตกต่างที่สำคัญสำหรับฉันคือการตรวจสอบให้แน่ใจว่ามีมอคค่าอยู่node_modules
โดยใช้program
เพื่อชี้ไปที่ปฏิบัติการและargs
จำเป็นต้องdebug-brk=x
ชี้ไปที่พอร์ตที่ระบุในport
. ส่วนที่เหลือข้างต้นทำให้สิ่งต่าง ๆ สวยขึ้นและง่ายขึ้น
ขึ้นอยู่กับคุณและทีมของคุณว่าคุณใส่.vscode/launch.json
ที่เก็บหรือไม่ เป็นไฟล์ IDE เท่านั้น แต่ทั้งทีมของคุณสามารถใช้งานได้ในลักษณะนี้ไม่มีปัญหาเนื่องจากเส้นทางและการติดตั้งทั้งหมดเป็นแบบสัมพัทธ์และชัดเจน
เคล็ดลับ: package.json
สามารถรวมscripts
แท็กที่เรียกใช้ mocha ด้วยบางอย่างเช่น"test": "./node_modules/.bin/mocha"
แต่ VS Code ไม่ได้ใช้ แต่จะใช้เมื่อnpm test
ถูกเรียกใช้ที่บรรทัดคำสั่งแทน อันนี้ทำให้ฉันสับสนเล็กน้อย สังเกตที่นี่เผื่อว่าคนอื่นจะสับสนด้วย
แก้ไข: VS Code 1.9.0 ได้เพิ่มตัวเลือก "Add Configuration" ในเมนูแบบเลื่อนลงการกำหนดค่าการดีบักและคุณสามารถเลือก "Node.js Mocha Tests" ซึ่งช่วยให้ส่วนใหญ่ง่ายขึ้น คุณยังคงต้องแน่ใจว่ามอคค่าอยู่ในของคุณnode_modules
และอาจต้องอัปเดตcwd
และสุดท้ายruntimeArgs
(ซึ่งเป็นรูปแบบในการค้นหาการทดสอบของคุณ) เพื่อชี้ไปยังเส้นทางที่เหมาะสม แต่เมื่อคุณตั้งค่าคุณสมบัติทั้งสองนี้แล้วก็น่าจะใช้งานได้ดีจากตรงนั้น
"args"
บล็อก:"--require", "${workspaceFolder}/tools/testSetup.js",