JS的单元测试Jest
2021-05-11 本文已影响0人
吴佳浩
jest非常易于使用,文档也很详细,这里主要说一下简单的应用步骤
安装jest。
yarn add --dev jest
修改package.json添加如下命令(–coverage表示打印覆盖率等信息)
{
"script": {
"test": "jest --coverage"
}
}
项目根目录下建立test文件夹,里面建立和要测试的文件同路径的测试文件,命名为xxx.test.js
引入要添加单测的函数
编写单测
- 在expect中调用引入的函数,通过匹配器(有用于数字、对象、字符串等多种不同匹配器)判断输出是否符合预期
- 可mock一些考虑边界情况、异常输入等的测试用例
let double = value=>value*3; //被测试的函数
//测试用例
test('double(2) 等于 6', () => {
expect(double(2)).toBe(6);
})
打印测试的结果
PASS tests/test1.test.js
✓ double(2) 等于 6 (13 ms)
----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 0 | 0 | 0 | 0 |
----------|---------|----------|---------|---------|-------------------
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
修改package.json文件,在pre-commit的钩子也执行,这样其它人修改这个项目提交也会默认走一次单测
也可以通过npm run test手动执行单测