一、安装所需库
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.启动调试,选择调试的任务,点击绿色箭头即可开始调试,如下图