简介
文章使用相关环境、模块版本如下:
| 名称 | 版本 |
|---|---|
| Node.js | 12.15.0 |
| mocha | 8.3.2 |
| nyc | 15.1.0 |
一、demo程序
创建一个demo文件夹,在该文件夹下创建文件index.js,编写如下内容:
/**
* @description 加法函数
* @param {Number} a - 数1
* @param {Number} b - 数2
* @returns
*/
function add(a, b) {
return a + b;
}
module.exports = add;
二、添加测试用例
2.1 初始化package.json
使用如下命令初始化package.json
npm init
依次根据提示填入对应项即可,一路回车也可。
2.1 安装测试框架
测试框架选择mocha
以npm为例:
npm i mocha --save-dev
--save-dev参数是将该依赖保存为开发依赖,在生产环境该依赖就无需进行安装,节省空间。
2.2 编写测试用例
在demo文件夹下创建文件夹test
以demo/test/index.spec.js为例
const assert = require('assert').strict;
const add = require('../index');
describe('测试集合', () => {
it('demo测试1', () => {
const a = 123;
const b = 456;
const result = add(a, b);
assert.deepStrictEqual(result, b + a);
});
});
2.3 添加npm命令
给package.json文件中的scripts对象添加如下内容:
"scripts": {
"test": "node_modules/.bin/mocha test/*.spec.js"
}
注意
- 调用
mocha要用node_modules/.bin/mocha,这样才能保证是使用的之前安装到项目下的mocha命令,否则会默认到全局安装下寻找mocha命令。(当然,直接把mocha安装到全局也是可以的) - 后的
test/*.spec.js是指定测试文件,mocha会去寻找对应的测试文件,运行测试用例
2.4 运行测试
在命令行中输入
npm run test
即可运行测试。
但是此时还是没能显示测试覆盖率,需要再添加一个nyc模块。
三、添加测试覆盖率
3.1 安装nyc
npm i nyc --save-dev
同理,该模块仅与开发有关,使用--save-dev即可。
3.2 添加npm命令
给package.json文件中的scripts对象添加如下内容:
"scripts": {
"test": "node_modules/.bin/mocha test/*.spec.js",
"test:cov": "node_modules/.bin/nyc --report=text node_modules/.bin/mocha test/*.spec.js"
}
3.3 运行测试
执行命令
npm run test:cov
此时将会在控制台中显示代码的测试覆盖率,且在项目下生成文件夹.nyc_output。
本文介绍了如何在Node.js环境中,利用Mocha测试框架和nyc覆盖率工具,对JavaScript代码进行单元测试并生成测试覆盖率报告。首先,创建了一个简单的加法函数,并编写了对应的测试用例。接着,通过初始化package.json,安装mocha和nyc,配置npm命令来运行测试。最后,添加nyc以显示测试覆盖率,并展示了运行测试覆盖率命令后的输出结果。
826

被折叠的 条评论
为什么被折叠?



