Node项目添加测试用例、测试覆盖率

本文介绍了如何在Node.js环境中,利用Mocha测试框架和nyc覆盖率工具,对JavaScript代码进行单元测试并生成测试覆盖率报告。首先,创建了一个简单的加法函数,并编写了对应的测试用例。接着,通过初始化package.json,安装mocha和nyc,配置npm命令来运行测试。最后,添加nyc以显示测试覆盖率,并展示了运行测试覆盖率命令后的输出结果。

简介

文章使用相关环境、模块版本如下:

名称版本
Node.js12.15.0
mocha8.3.2
nyc15.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值