jest前端自动化测试(一)
安装插件,使用前准备
使用npm命令行
npm init //
插入jest
npm install [email protected] -D
修改package.json文件
"scripts": {
"test": "jest --watchAll" // watchAll默认进入a模式,watch默认进入o模式,无,则一次命令一次测试
},
生成配置文件
npx jest --init
测试入门和一些使用技巧
测试命令
npm run test
查看测试代码覆盖率
npx jest --coverage
将es语法转化为commonjs(使用插件)
npm install @babel/[email protected] @babel/[email protected] -D
// 在根目录新建并配置文件.babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
使用o模式测试
因为需要判断哪些文件发生了变化,故需要引入git仓库
git init
一些常用的匹配器
实例
toBe匹配器,匹配 6 === 6、object.is 式相等
test('加法测试6 和 6 匹配', () => {
expect(6).toBe(6); // 在计算浮点数相等的时候,由于浮点数的溢出会造成0.1+0.2和0.3不匹配
});
其他匹配器
toEqual匹配器,匹配對象內容相等
const a = { one: 1}
test('匹配對象內容相等', () => {
expect(a).toEqual({ one: 1}); // 在计算浮点数相等的时候,由于浮点数的溢出会造成0.1+0.2和0.3不匹配
});
有关真假的匹配器
toBeNull()
tobBeUndefined()
toBeDefined()
toBeTruthy() // 0、 false、 null、 '' 、undefined匹配不通过,其他都通过
toBeFalsy() // 0、 false、 null、 '' 、undefined则匹配成功
not // 取反逻辑,如:not.toBeFalsy() 等效于 toBeTruthy()
数字相关的匹配器
toBeGreaterThan() // received 大于期望值则匹配通过
toBeLessThan() // received 小于期望值则匹配通过
toBeGreaterThanOrEqual() // received 大于或等于期望值则匹配通过
toBeCloseTo() // received 极其接近期望值则匹配,用于匹配浮点数的相等
String、Array、Set相关匹配器
toMatch() // received 字符串中包含预期字符串
toContain() // received 数组(Array/Set)是否包含预期值(可以时多个值)
异常
toThrow() // received 抛出异常或抛出异常的内容包含预期值