如何使用npm测试进行调试

时间:2018-01-17 19:22:48

标签: node.js mocha

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

注意:我正在使用mocha和chai。

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);
    });
    )}

1 个答案:

答案 0 :(得分:6)

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

转到Visual Studio代码中的“调试”部分。

单击选择控件,然后选择"添加配置..." (或者只需单击齿轮图标,然后单击"添加配置..."按钮);

你应该能够选择" 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开始,需要正确选择接口(https://mochajs.org/#interfaces),如果要使用describe函数,请将tdd更改为bdd。

确保您的mocha测试位于./test文件夹中,并且您已在本地安装了mocha或自定义启动器配置。

让我们说你有一个测试./test/it_should_work.js(注意,它没有任何要求,因为mocha binary自己知道这些函数)

describe('test', () => {
  it('should work', () => {
  });
})

启动新创建的"摩卡测试"配置,它应该返回一个成功的结果。

test
    ✓ should work
  1 passing (9ms)

但是如果您真的需要以编程方式启动mocha测试,请查看此官方Wiki页面https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically