项目中如果有组件/库的使用频率是比较高的,那么编写测试用例的收益也是非常高的。
测试工具 Mocha
Mocha是一个功能丰富的JavaScript测试框架,运行在Node.js和浏览器上,使异步测试变得简单和有趣。
1 | $ npm install mocha -D |
Mocha 最早是一个针对Node.js的测试框架,所以调用方式上默认使用webpack/babel之前,他都不支持export import的。
1 | var assert = require('assert'); // |
assert 中包含一些断言,如equal 相等的断言。
it 中编写一些单元测试用例。
编写一个加法测试用例
1 | // index.js |
支持 export import 形式的引入
1 | $ npm i @babel/core @babel/register -D |
node 后续运行时所需要 require 进来的扩展名为 .es6
、.es
、.jsx
、 .mjs
和 .js
的文件将由 Babel 自动转换。
添加.babelrc
1 | { |
改写为import export形式
1 | // index.js |
run
1 | $ node_modules/.bin/mocha --require @babel/register |
code coverage
在实际的测试用例编写中,我们可能无法清晰的知道用例是否已经全部覆盖了编写的程序,所以需要code coverage来检查程序覆盖率。
nyc
1 | $ npm i nyc -D |
nyc 和bable之间相互是无法识别的,需要安装相互间的插件
中间件
1 | $ npm i @istanbuljs/nyc-config-babel babel-plugin-istanbul -D |
添加.nycrc文件
1 | { |
修改.babelrc
1 | { |
run
1 | $ nyc mocha |