दृश्य स्टूडियो कोड का उपयोग करते हुए मोचा ब्रेकप्वाइंट


101

क्या दृश्य स्टूडियो कोड का उपयोग करके मोचा परीक्षणों में ब्रेकप्वाइंट जोड़ना संभव है?

आम तौर पर जब डिबगिंग कोड एक को लॉन्च को कॉन्फ़िगर करने की आवश्यकता होती है। जेसन, प्रोग्राम की विशेषता को निष्पादित करने के लिए जावास्क्रिप्ट फ़ाइल में सेट करता है। मुझे यकीन नहीं है कि मोचा के लिए यह कैसे करना है।

जवाबों:


83

क्या आप जानते हैं, कि आप सिर्फ अपने लॉन्च कॉन्फिगर में जाते हैं, अपने कर्सर को अपने दूसरे कॉन्फिग के बाद या प्रेस करते हैं ctrl- spaceएक करंट, वैध मोचा कॉन्फिगर ऑटो-जेनरेट करने के लिए?

जो मेरे लिए पूरी तरह से ठीक काम करता है। जिसमें ब्रेकपॉइंट पर रोक शामिल है। (मेरे पास एक पूर्व, अब पुराना एक है, जो विभिन्न सेटिंग-संबंधित कारणों के लिए नहीं था।)

यहां छवि विवरण दर्ज करें

VSCode 1.21.1 (मार्च 2018) के अनुसार यह पैदावार:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Mocha (Test single file)",
      "type": "node",
      "request": "launch",
      "runtimeArgs": [
        "${workspaceRoot}/node_modules/.bin/mocha",
        "--inspect-brk",
        "${relativeFile}",
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "port": 9229
    }
}

एक साइड-नोट पर: debug-brk सही किया गया है (नोड के साथ किसी के लिए = = संस्करण 8 कम से कम)।


2
दस्तावेज़ को आरंभ करने और हॉट मॉड्यूल प्रतिस्थापन को अक्षम करने के लिए मुझे कुछ कस्टम कोड की आवश्यकता थी। इस तर्क को "args"ब्लॉक में पास करें :"--require", "${workspaceFolder}/tools/testSetup.js",
केंट बुल

1
वी। एस। कोड 1.29.1: ऑटोजेनरेटेड Ctrl+Spaceमोचा टेस्ट्स कॉन्फिग नहीं थी debug-brk। इसके बावजूद कि ब्रेकपॉइंट्स के साथ डिबगिंग ने ठीक काम किया।
एंटनी

@Antony हाँ, लंबे समय तक debug-brkइसका उपयोग, समर्थित या ऑटो- इंसर्टेड की आवश्यकता नहीं है। मेरे साइड-नोट ने केवल इसे स्पष्ट किया, क्योंकि कई अन्य उत्तर इसका उल्लेख करते हैं।
फ्रैंक नोक

1
मुझे काम करने के लिए मेरे (केवल) अन्य कॉन्फ़िगरेशन के सही ब्रेस के बाद कॉमा डालना था ctrl + space
गोटो 0

2
मोचा के लिए उचित कॉन्फ़िगरेशन के अप-टू-डेट उदाहरण के लिए देखें: github.com/Microsoft/vscode-recipes/tree/master/…
Nux

70

यदि आप --debug-brkअपने ग्लोबल मोचा इंस्टॉलेशन के लिए + अटैच या स्टेट का उपयोग नहीं करना चाहते हैं (जो आपके लॉन्च को रोक देगा। यदि आप संस्करण नियंत्रण में रहते हैं और विभिन्न मशीनों पर कई डेवलपर्स हैं), तो देवता को एक निर्भरता के रूप में स्थापित करें और इसे अपने लॉन्च में जोड़ें। Json:

{
  "name": "mocha",
  "type": "node",
  "request": "launch",
  "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
  "stopOnEntry": false,
  "args": ["--no-timeouts", "--colors"], //you can specify paths to specific tests here
  "cwd": "${workspaceRoot}",
  "runtimeExecutable": null,
  "env": {
    "NODE_ENV": "testing"
  }
}

सिर्फ F5 दबाकर अपने परीक्षणों में पूर्ण डिबगिंग का समर्थन करें।

--no-timeoutsसुनिश्चित करें कि आपके परीक्षण समय से बाहर नहीं हैं क्योंकि आप एक ब्रेकपॉइंट पर रुक गए हैं, और --colorsसुनिश्चित करता है कि मोचा रंग का उत्पादन करता है, भले ही यह पता नहीं चलता हो कि वीएस ने रंगों का समर्थन किया है।


12
किसी और को परेशानी होने के लिए। _मोचा को नोट करें और मोचा को नहीं। केवल मोचा के साथ यह वीएस कोड में परीक्षण चलाएगा लेकिन ब्रेकपॉइंट हिट नहीं हैं
tkarls

1
टाइपस्क्रिप्ट का उपयोग करने वालों के लिए, यह उपयुक्त उत्तर है जब तक आप सेट करते हैं sourceMaps: true। एक अरब धन्यवाद!
ब्रायन रेनर

अपने npm संगत कस्टम परीक्षण params जोड़ने के npm_config_myparamलिए, env ब्लॉक में कुछ जोड़ें । सीएलआई पर ऐसा कहां लग सकता है npm --myparam=myvalue test
bvj

44

दूसरा तरीका --debug-brkमोचा के कमांड लाइन विकल्प और Attachविज़ुअल स्टूडियो कोड डीबगर के डिफ़ॉल्ट लॉन्च सेटिंग का उपयोग करना है।


सुझाया गया गहरा विवरण (आंद्रे से)

यह करने के लिए:

इस कमांड का उपयोग करके कमांड लाइन से मोचा चलाएं:

mocha --debug-brk

अब VS कोड में डीबग आइकन पर क्लिक करें, फिर Attachस्टार्ट बटन के आगे वाले विकल्प से चयन करें। वीएस कोड में ब्रेकप्वाइंट जोड़ें और फिर प्रारंभ पर क्लिक करें।


1
यह रास्ता बहुत आसान है, वस्तुतः कोई विन्यास नहीं है
आंद्रे वर्मेलेन

आपको "request": "attach"लॉन्च में जोड़ना होगा। यदि यह मौजूद नहीं है, तो इसे बंद करें - अन्यथा यह शिकायत करेगा कि आपको प्रोग्राम या कुछ अन्य त्रुटि निर्दिष्ट करनी होगी।
16

यह VS Codeविशिष्ट प्रतीत होता है । सामान्य वीएस 2015 में काम नहीं करता है
पावेल पी

महान सलाह धन्यवाद :)
गौरव रावत

1
ध्यान दें, कि --debug-brkहै आजकल पदावनत , है यही कारण है कि मैं सुझाव ऑटो बनाने vscode में एक ताजा डिबग config , हाँ, alslo विशेष रूप से मोचा के लिए।
फ्रैंक नॉके

24

मैंने OS X 10.10 पर VSCode पर यह काम किया है। बस अपनी ./settings/launch.jsonफ़ाइल को इसके साथ बदलें ।

{
    "version": "0.1.0",
    "configurations": [
        {
            "name": "Run app.js",
            "type": "node",
            "program": "app.js", // Assuming this is your main app file.
            "stopOnEntry": false,
            "args": [],
            "cwd": ".",
            "runtimeExecutable": null,
            "env": { "NODE_ENV": "production"}
        },
        {
            "name": "Run mocha",
            "type": "node",
            "program": "/Users/myname/myfolder/node_modules/mocha/bin/_mocha",
            "stopOnEntry": false,
            "args": ["test/unit.js"],
            "cwd": ".",
            "runtimeExecutable": null,
            "env": { "NODE_ENV": "production"}
        }
    ]
}

यह यहां एक जिस्ट के रूप में भी उपलब्ध है

आपके द्वारा बदलने के लिए महत्वपूर्ण मान हैं program, जिन्हें _mochaनिष्पादन योग्य पर सेट किया जाना चाहिए , और args, जो आपकी परीक्षण फ़ाइलों की एक सरणी होनी चाहिए।


मेरे लिए (खिड़कियों पर) काम नहीं करता है - लेकिन अगर यह काम करता है तो एक अच्छा समाधान लगता है :)
वोल्फगैंग क्लैग

हाँ। क्षमा करें OpenDebug process has terminated unexpectedly
वोल्फगैंग क्लूज

क्या आप Node स्थापित "runtimeExecutable"करने "C:/Program Files/nodejs/node.exe"या जहाँ भी स्थापित करने का प्रयास कर सकते हैं ?
जीपीएक्स

यकीन के लिए - लेकिन कोई बदलाव नहीं।
वोल्फगैंग क्लैग

मैं विंडोज का उपयोग नहीं करता, इसलिए मैं आगे कोई मदद नहीं कर सकता। हालाँकि, इस पर नज़र रखें - वे इस OpenDebug मुद्दे के बारे में बात कर रहे हैं।
जीपीएक्स

11

मैक ओएस एक्स पर वीएस कोड (1.8.2) पर काम करने का तरीका मुझे इस प्रकार है:

{
    "name": "Mocha",
    "type": "node",
    "request": "launch",
    "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
    "stopOnEntry": false,
    "args": ["--recursive"], //you can specify paths to specific tests here
    "cwd": "${workspaceRoot}",
    "runtimeExecutable": null,
    "env": {
        "NODE_ENV": "testing"
    }
}

मोचा को एनपीएम मॉड्यूल निर्देशिका में स्थापित करने की आवश्यकता है।


यह मुझे उम्र के लिए अटक गया था। मैंने गलत तरीके से नोड_मॉडल के बजाय "जो मोचा" से पथ का उपयोग किया। धन्यवाद!
पीएमएसी

11
  1. Debug > Add Configuration...मेनू पर जाएं
  2. Node.jsपर्यावरण का चयन करें
  3. Mocha Testsप्रदर्शित ड्रॉप-डाउन सूची से विकल्प का चयन करें
  4. argsसंपत्ति के अंतिम आइटम के रूप में अपनी परीक्षण फ़ाइल का पथ टाइप करें
  5. एक जोड़ें breakpoint
  6. Debugआइकन पर क्लिक करें
  7. Mocha Testsकॉन्फ़िगरेशन के रूप में चुनें
  8. प्रेस Start debuggingबटन
  9. :-)

6

मैंने इसे करने का एक तरीका निकाला है, जिसे मैं वर्कअराउंड के रूप में वर्गीकृत करता हूं । मुझे उम्मीद है कि विज़ुअल स्टूडियो कोड टीम इसके लिए एक अधिक निश्चित समाधान प्रदान करेगी लेकिन इस बीच मैंने जो किया है वह है:

  1. मैंने एक ./settings/mocha.jsफाइल बनाई है, जो प्रोग्राम को पास करने के लिए फाइल चलाने की सूची के रूप में प्रोग्राम से गुजरती है। आप यहां पूरी फाइल देख सकते हैं ;
  2. मैं एक प्रक्षेपण config जो चलेंगे बना लिया है ./settings/mocha.jsके रूप में programऔर फ़ाइलें / फ़ाइल पैटर्न हम तर्क के रूप में परीक्षण करने की जरूरत है गुजरता है:

    {
        "name": "Unit tests",
        "type": "node",
        "program": ".settings/mocha.js",
        "stopOnEntry": true,
        "args": ["test/unit/*.js", "test/unit/**/*.js"],
        "cwd": ".",
        "runtimeExecutable": null,
        "env": { }
    }

    पूर्ण लॉन्च.जसन उदाहरण

तो यह करने के बराबर है mocha test/unit/*.js test/unit/**/*.jsऔर अब हम अपने मोचा परीक्षणों में ब्रेकपॉइंट का उपयोग कर सकते हैं।


मेरे लिए काम नहीं करता है, यह परीक्षण फ़ाइलों को नहीं पा सकता है, पथ सही हैं मैंने पूर्ण पथों के साथ भी कोशिश की।
सिमोन गियानी

1
यह मेरे लिए भी काम करता है vscode 0.10.6। स्रोत फ़ाइल के साथ .ts फ़ाइलों में ब्रेकपॉइंट के साथ, मैंने 'sourceMaps': true, 'outDir': './build'अपने लॉन्च कॉन्फ़िगरेशन में जोड़ा ।
11:13

4

यदि आप आर्ग्स सूची के अंत में $ {फ़ाइल} चर जोड़ते हैं तो आप अपने द्वारा खोली गई फ़ाइल से सीधे डिबगिंग शुरू कर सकते हैं:

        {
            "type": "node",
            "request": "launch",
            "name": "Mocha Tests",
            "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
            "args": [
                "-u",
                "tdd",
                "--timeout",
                "999999",
                "--colors",
                "${file}"
            ],
            "internalConsoleOptions": "openOnSessionStart"
        }

2

एक और उत्तर जोड़ने के लिए क्षमा करें, लेकिन पिछले कोड 1.8.1 और मानक नोड डिबगर के रूप में इसमें शामिल किसी ने भी मेरे लिए काम नहीं किया। यहाँ मैंने इसे हल किया है (पिछले उत्तरों से मार्गदर्शन के साथ और आधिकारिक VS कोड Node.js डीबगिंग डॉक्स से) तो एक क्लिक / कीपर डीबगिंग है:

  • सुनिश्चित करें कि मोचा एक के रूप में स्थापित devDependencyहै packages.json:"devDependencies": { "mocha": "^3.2", ... }
  • यह सुनिश्चित करने के लिए कि मोचा अब स्थापित है npm install, अपनी निर्देशिका में चलाएंpackage.jsonnode_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किया गया था । उपर्युक्त बाकी चीजें बस चीजों को पहले से आसान और आसान बनाती हैं।argsdebug-brk=xport

यह आपके और आपकी टीम के ऊपर है कि आप .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उचित रास्तों को इंगित करने के लिए ( और अपने परीक्षणों को खोजने के लिए पैटर्न) को अपडेट करना पड़ सकता है । लेकिन एक बार जब आप उन दो गुणों को सेट करते हैं, तो उसे वहां से बहुत अधिक काम करना चाहिए।


2

लॉन्च.जॉसन में, नीचे 1 और कॉन्फ़िगरेशन जोड़ें

{
      "type": "node",
      "request": "launch",
      "name": "Mocha Tests",
      "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
      "args": [
        "--timeout",
        "10000",
        "${workspaceRoot}/services/*.spec.js",
        "${workspaceRoot}/*.spec.js"
      ],
      "internalConsoleOptions": "openOnSessionStart"
    },

यदि आपको नोड संस्करण कॉन्फ़िगर करने की आवश्यकता है, तो बस runtimeExecutableइस तरह से फ़ील्ड जोड़ें

{
      "type": "node",
      "request": "launch",
      "name": "Mocha Tests",
      "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
      "args": [
        "--timeout",
        "10000",
        "${workspaceRoot}/services/*.spec.js",
        "${workspaceRoot}/*.spec.js"
      ],
      "internalConsoleOptions": "openOnSessionStart",
      "runtimeExecutable": "${env:HOME}/.nvm/versions/node/v8.2.1/bin/node"
    },

1

विंडोज का उपयोग करने वाले किसी के लिए। यदि आपने विश्व स्तर पर मोचा स्थापित किया है, तो मेरे लिए काम करने वाले निम्न पथ पर प्रोग्राम सेट करना (आपके उपयोगकर्ता नाम में स्वैप)।

"program": "C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\mocha\\bin\\_mocha"

1

यह एक विंडोज 7 मशीन पर मुझे काम कर रहा है। मेरे पास विश्व स्तर पर मोचा स्थापित है, लेकिन यह कॉन्फ़िगरेशन उपयोगकर्ता प्रोफ़ाइल पथ (जो btw, मैंने बिना किसी सफलता के साथ% USERPROFILE% चर का उपयोग करने की कोशिश की) से बचने के लिए प्रोजेक्ट इंस्टॉल की ओर इशारा कर रहा है। मैं अपने मोचा परीक्षणों में अब ब्रेकपॉइंट सेट करने में सक्षम हूं। वाह!

{
        "name": "Mocha Tests",
        "type": "node",
        "request": "launch",
        "stopOnEntry": false,
        "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
        "cwd": "${workspaceRoot}",
        "args": ["./test/**/*.js"],
        "runtimeExecutable": null,
        "envFile": "${workspaceRoot}/.env"
    }

1

उन लोगों के लिए जो ग्रन्ट या गल्प का उपयोग कर रहे हैं, कॉन्फ़िगरेशन बहुत सरल है।

Launch.json

{
"version": "0.2.0",
"configurations": [

    {
        "name": "Run mocha by grunt",
        "type": "node",
        "program": "${workspaceRoot}/node_modules/grunt/bin/grunt",
        "stopOnEntry": false,
        "args": ["mochaTest"],
        "cwd": "${workspaceRoot}",
        "runtimeExecutable": null
    }
]}

Gruntfile.js

module.exports = function (grunt) {

grunt.initConfig({
    mochaTest: {
        test: {
            options: {
                reporter: 'spec'
            },
            src: ['test/**/*test.js']
        }
    }
});

grunt.loadNpmTasks('grunt-mocha-test');

grunt.registerTask('default', 'mochaTest');};


1

बैबल का उपयोग करते समय, या जावास्क्रिप्ट फ़ाइलों को उत्पन्न करने के लिए अभी तक स्रोत में ब्रेकपॉइंट्स रखते हैं - आपको सक्षम sourceMapsऔर परिभाषित करने के लिए सुनिश्चित करना होगा outFiles। यहाँ एक उदाहरण विन्यास है जो मेरे लिए काम करता है।

    {
        "name": "Mocha Test",
        "type": "node",
        "request": "launch",
        "program": "${workspaceRoot}/packages/api/node_modules/mocha/bin/_mocha",
        "cwd": "${workspaceRoot}/packages/api",
        "args": ["--colors", "--no-timeouts", "out/test"],
        "outFiles": ["${workspaceRoot}/packages/api/out/*"],
        "sourceMaps": true,
    },

नोट - आपको वह outFilesसब कुछ शामिल करने के लिए संशोधित करना होगा जिसे आप एक ब्रेकप्वाइंट जोड़ना चाहते हैं। एक मोनोरेपो और कई आश्रित परियोजनाओं में यह अधिक थकाऊ हो सकता है।


1

1) पर जाएं

.vscode

फिर

launch.json

फ़ाइल

2) लॉन्च में निम्नलिखित कॉन्फ़िगरेशन जोड़ें। Json -

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Mocha Test",
            "cwd": "${workspaceRoot}",
            "runtimeExecutable": "${workspaceRoot}/*folder_path_containing_test*/node_modules/.bin/mocha",
            "windows": {
                "runtimeExecutable": "${workspaceRoot}/*folder_path_containing_test*/node_modules/.bin/mocha.cmd"
            },
            "runtimeArgs": [
                "--colors",
                "--recursive",
                "${workspaceRoot}/*folder_path_till_test*/tests"
            ],
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceRoot}/*folder_path_to_test*/app.js"
        }
    ]
}

3) परीक्षण फ़ाइल में ब्रेकप्वाइंट सेट करें और फिर दबाएं F5


0

टाइपस्क्रिप्ट का उपयोग करते समय, निम्न कॉन्फ़िगरेशन विजुअल स्टूडियो कोड 0.8.0 (tsc 1.5.3) में मेरे लिए काम करता है

tsconfig.json

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "noImplicitAny": false,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true,
        "outDir": "build",
        "declaration": false
    },
    "files": [
        "./src/index.ts",
        "./src/test/appTests.ts"
    ]
}

यहां ध्यान देने योग्य महत्वपूर्ण बात यह है कि स्रोत मानचित्र उत्पन्न होते हैं और यह कि js के लिए आउटपुट डायरेक्टरी सेट है build

launch.json

    {
        "name": "Attach",
        "type": "node",
        // TCP/IP address. Default is "localhost".
        "address": "localhost",
        // Port to attach to.
        "port": 5858,
        "sourceMaps": true,
        "outDir": "build"
    }

कृपया ध्यान दें कि sourceMapsयह सेट है trueऔर outDirयह सेट हैbuild

डिबग करना

  1. index.tsकिसी अन्य आयातित टाइपस्क्रिप्ट फ़ाइल में ब्रेकपॉइंट चिपका दें
  2. एक टर्मिनल खोलें और चलाएं: mocha --debug-brk ./build/test/appTests.js
  3. VSC से, 'अटैच' लॉन्च कॉन्फ़िगरेशन चलाएँ

0

यहाँ Microsoft से लॉन्च कॉन्फ़िगरेशन (लॉन्च.जसन) का एक उदाहरण है , जो मोचा के साथ काम करता है और डीबगर का उपयोग करने की अनुमति देता है।

इसके अलावा, -debug-brk विकल्प का उपयोग करने के तरीके का वर्णन है।

अंत में, यहाँ एक वैकल्पिक संस्करण है कि कार्यों का उपयोग करके मोचा परीक्षणों के साथ कोड को कैसे डिबग किया जाए। वीएस कोड और गुल्पेन ऐप के फाइलर।


0

यदि आपके पास परीक्षण में कुछ निर्भरता है, तो इसे संलग्न करना भी आसान है।

उदाहरण के लिए, मैं mongo-unit-helperडेटाबेस के साथ एकीकृत इकाई परीक्षणों का भी उपयोग कर रहा हूं ।

package.json स्क्रिप्ट है: mocha --recursive --require ./test/mongo-unit-helper.js --exit"

मेरी launch.jsonतरह दिखता है:

  "configurations": [
  {
  "type": "node",
  "request": "launch",
  "name": "Mocha Tests",
  "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
  "args": [
    "-u",
    "tdd",
    "--timeout",
    "999999",
    "--colors",
    "--recursive",
    "--require",
    "${workspaceFolder}/test/mongo-unit-helper.js",
    "${workspaceFolder}/test/**/*.js",
  ],
  "internalConsoleOptions": "openOnSessionStart"
 }
]

घोल को --requireअलग से अंदर डालना argsहै launch.json


0

सबसे सरल उपाय

निम्न कोड को .vscode फ़ोल्डर के अंदर लॉन्च। Json में जोड़ें:

{
            "name": "Unit tests",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
            "args": [
            ],
        }

हालाँकि आप समय-समय पर तर्क जोड़ना चाहते हैं:

 {
            "name": "Unit tests",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
            "args": [
                "--timeout",
                "999999"
            ],
        }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.