एक और उत्तर जोड़ने के लिए क्षमा करें, लेकिन पिछले कोड 1.8.1 और मानक नोड डिबगर के रूप में इसमें शामिल किसी ने भी मेरे लिए काम नहीं किया। यहाँ मैंने इसे हल किया है (पिछले उत्तरों से मार्गदर्शन के साथ और आधिकारिक VS कोड Node.js डीबगिंग डॉक्स से) तो एक क्लिक / कीपर डीबगिंग है:
- सुनिश्चित करें कि मोचा एक के रूप में स्थापित
devDependency
है packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- यह सुनिश्चित करने के लिए कि मोचा अब स्थापित है
npm install
, अपनी निर्देशिका में चलाएंpackage.json
node_modules/
- ओपन
.vscode/launch.json
(या वीएस कोड में, एफ 1 दबाएं, "लॉन्च" टाइप करना शुरू करें, और "डीबग: ओपन लॉन्च। जेसन" चुनें)
- नीचे दाईं ओर नीले "कॉन्फ़िगरेशन जोड़ें" बटन पर क्लिक करें (या बस अपने किसी अन्य को कॉपी और पेस्ट करें); यह चरण वैकल्पिक है ... मेरा मतलब है, आप किसी मौजूदा कॉन्फ़िगरेशन का फिर से उपयोग कर सकते हैं। लेकिन मेरा सुझाव है कि इसे कम भ्रामक बनाए रखने के लिए एक को जोड़ना।
- अपने में निम्नलिखित को बदलें
launch.json
, फिर वीएस कोड में डिबग विंडो में नया कॉन्फिगर नाम चुनें और अपने नोड + मोचा परीक्षणों को डीबग करना शुरू करने के लिए हरे तीर पर क्लिक करें!
में नए विन्यास में 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
रिपॉजिटरी में डालते हैं या नहीं। यह एक आईडीई-केवल फ़ाइल है, लेकिन आपकी पूरी टीम इसे इस तरह से उपयोग कर सकती है, कोई समस्या नहीं है, क्योंकि सभी पथ और इंस्टॉल रिश्तेदार और स्पष्ट हैं।
युक्ति: package.json
एक ऐसा scripts
टैग शामिल किया जा सकता है, जो कुछ के साथ मोचा लॉन्च करता है "test": "./node_modules/.bin/mocha"
, लेकिन इसका उपयोग VS कोड द्वारा नहीं किया जाता है - इसके बजाय इसका उपयोग npm test
कमांड लाइन पर चलने पर किया जाता है। यह एक मुझे थोड़ा के लिए उलझन में है। मामले में अन्य लोगों को भी उलझन में यहाँ यह देख रहे हैं।
EDIT: VS कोड 1.9.0 ने डिबग कॉन्फ़िगरेशन ड्रॉप-डाउन में "कॉन्फ़िगरेशन जोड़ें" विकल्प जोड़ा है, और आप "Node.js Mocha टेस्ट" चुन सकते हैं जो उपरोक्त में से अधिकांश को सरल बनाने में मदद करता है। आपको अभी भी यह सुनिश्चित करने की आवश्यकता है कि मोचा आपके node_modules
पास है cwd
और runtimeArgs
उचित रास्तों को इंगित करने के लिए ( और अपने परीक्षणों को खोजने के लिए पैटर्न) को अपडेट करना पड़ सकता है । लेकिन एक बार जब आप उन दो गुणों को सेट करते हैं, तो उसे वहां से बहुत अधिक काम करना चाहिए।
"args"
ब्लॉक में पास करें :"--require", "${workspaceFolder}/tools/testSetup.js",