Node.js 如何使用npm测试进行调试
我正在使用VS代码。当我尝试在调试模式下运行测试时,它说descripe不是一个函数。因此,我能够运行测试的唯一方法是通过npm Note 注意:我用的是摩卡和柴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
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)