Jest单元测试
Posted 前端精髓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jest单元测试相关的知识,希望对你有一定的参考价值。
单元测试主要包含断言、测试框架、测试用例、测试覆盖率、mock、持续集成等几个方面,由于Node的特殊性,它还会加入异步代码测试和私有方法的测试这两个部分。
了解单元测试之前,先回顾一下之前我们是怎样测试代码的。下面我写了一个求和函数。
function sum (a, b) {
return a + b
}
// 通过console输出值跟预期的结果对比
console.log(sum(1, 2), 3)
通常是在开发环境console输出结果,然后在线上环境把这个console删除掉,但是别人使用的时候又会再测一下这个功能是否正常。这样也太麻烦了。
这个时候就发现写单元测试的必要性了,而且单元测试可以提高我们的代码质量,更好的理解代码的功能。
现在主流的测试框架有Jest,Jest是facebook推出的一款测试框架,集成了 Mocha,chai,jsdom,sinon等功能。今天讲解的就是使用Jest进行单元测试。
安装jest和@types/jest包含的声明文件,声明文件是定义了一些类型,写代码的时候会有提示,如果你熟悉TS,大概明白这个文件了。
npm i jest @types/jest
然后加package.json添加一段脚本,作用是可以通过命令运行npm run test
"scripts": {
"test": "jest"
}
默认会测试文件名包含spec和test结尾的js文件
Jest默认只能测试模块,我现在把我index.js文件写的方法导出。
export function sum (a, b) {
return a + b
}
qs.sepc.js中测试用例的写法
import { sum } from '../index'
it('测试sum函数', () => {
expect(sum(1, 2)).toBe(3)
})
然后运行代码npm run test,生成测试报告
以上是关于Jest单元测试的主要内容,如果未能解决你的问题,请参考以下文章