Node.js 如何使用npm测试进行调试

Node.js 如何使用npm测试进行调试,node.js,mocha.js,Node.js,Mocha.js,我正在使用VS代码。当我尝试在调试模式下运行测试时,它说descripe不是一个函数。因此,我能够运行测试的唯一方法是通过npm Note 注意:我用的是摩卡和柴 var { describe,it, before, after } = require('mocha'); var assert = require('chai').assert; var AuthAPI = require('../api/controllers/API.js'); describe('getItem t

我正在使用VS代码。当我尝试在调试模式下运行测试时,它说descripe不是一个函数。因此,我能够运行测试的唯一方法是通过npm Note

注意:我用的是摩卡和柴

var { describe,it, before, after } = require('mocha');
var assert = require('chai').assert;
var AuthAPI = require('../api/controllers/API.js');
     describe('getItem tests', function() {
    it('getItem ', function(done) {
      var API = new AuthAPI(clientId, PASS, List);

      api_jwt = API.getItem();
      assert.isNotEmpty(api_jwt);
    });
    )}

我想你只需要为你的摩卡测试另一个启动配置

转到VisualStudio代码中的调试部分

单击选择控件,然后选择“添加配置…”(或只需单击齿轮图标,然后单击“添加配置…”按钮)

您应该能够在那里选择“Node.js:Mocha Tests”,它将生成如下启动配置:

{
    "type": "node",
    "request": "launch",
    "name": "Mocha Tests",
    "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
    "args": [
        "-u",
        "tdd",
        "--timeout",
        "999999",
        "--colors",
        "${workspaceFolder}/test"
    ],
    "internalConsoleOptions": "openOnSessionStart"
},
!注意:从mocha 6开始,需要正确选择接口(),如果要使用
description
函数,请将tdd更改为bdd。 确保您的mocha测试位于
/test
文件夹中,并且您已经在本地安装了mocha或自定义了启动器配置

假设您有一个test
/test/it\u should\u work.js
(注意,它没有任何要求,因为mocha binary本身就知道这个函数)

启动一个新创建的“摩卡测试”配置,它将返回一个成功的结果

test
    ✓ should work
  1 passing (9ms)


但如果您真的需要以编程方式启动mocha测试,请查看此官方wiki页面

你能给我们看一下代码吗?我已经把下面的代码添加到了问题中(使用编辑),你不能把它放在回答中。我已经在全球安装了mocha,并且有下面的要求,但是当我运行mocha时,它说描述不是一个函数:const{descripe,it,before,after}=require('mocha');@MANOJ我想这是意料之中的,看看这篇关于mocha新功能的公开讨论。我想你可能想使用我回答中的一个解决方案。@Nick谢谢你的评论,请参阅解决方案的!Note部分。你说的“单击选择控件”是什么意思?(既不按Debug/Add Configuration..也不按Gear似乎可以执行任何操作。)谢谢。您不必指定是使用
tdd
还是
bdd
。摩卡会解决这个问题。只有强制使用特定样式时,您才会遇到麻烦。请参阅中的配置示例:
test
    ✓ should work
  1 passing (9ms)