VSCode配置Node.js单元测试环境,支持调试

时间:2024-04-01 22:50:26

一、安装所需库

    1.mocha 测试框架,npm install mocha

    2.istanbul 生成报表,查看覆盖率(可选,npm install instanbul


二、编写单元测试脚本文件,如:(test/test.js)

require('../app_web_api');
const assert = require('assert');

describe('单元测试', function () {

it('测试通过', (done) => {
assert.equal(1, 1);
done();
});
});



三、在项目package.json文件中加入如下节点

    1.linux或者mac环境

"scripts": {
    "test": "mocha --reporter spec --exit --globals csvFile,l test/test.js",
"test-cov": "node `which istanbul` cover _mocha -- --harmony_proxies --exit --reporter spec --check-leaks --globals csvFile,l test/test.js"
}


    2.windows环境

"scripts": {
"test": "mocha --reporter spec --exit --globals csvFile,l test/app.test.js",
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --harmony_proxies --exit --reporter spec --check-leaks --globals csvFile,l test/app.test.js"
}


四、运行单元测试

    1.npm run test

    2.npm run test-cov 需要安装istanbul(执行完后会在项目根目录下生成一个coverage文件夹,打开子目录下的index.html即可看到测试用例的代码覆盖率)

    其中test与test-cov对应第三中的scripts节点下的key,第三中key可以改为其它的,此处也跟着改


五、调试单元测试

    1.在launch.json文件configurations数组中加入

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

    2.启动调试,选择调试的任务,点击绿色箭头即可开始调试,如下图

VSCode配置Node.js单元测试环境,支持调试