自动化测试(四)02-js测试框架Jest——测试案例 & 测试三件事情之引用-待测文件、执行-测试方法、断言-测试结果 & 自动化测试的操作步骤
举个例子
关于test suite与test case:
describe属于 test suite 的描述,而每个 test 或者 it 则描述了每个 test case。
例如:math.js
export const add = (a, b) => a + b;
export const multiple = (a, b) => a * b;
测试脚本:math.test.js
测试三件事情——引用、执行、断言
//第一步:引用-待测文件
const math = require('./src/math')
//
//描述方式一——describe + it
describe("math", () => {
let a
let b
beforeEach(function () {
a = 2;
b = 3;
});
//描述方式二——test单独描述
test("#should return result as a+b", () => {
// test code
const result = math.add(a, b) //第二步:执行-测试方法
expect(result).toEqual(5) //第三步:断言
});
it("#should return result as a*b", () => {
//test code
const result = math.multiple(a, b)
expect(result).toEqual(6)
});
});
beforeAll-参考写法
官网API——https://jestjs.io/docs/api#beforeallfn-timeout
test suite 可以进行嵌套:
describe("foo", () => {
describe("bar", () => {
it("foo bar", () => {
//test code
});
});
});
test case 也可以脱离 test suite 独立运行:
// hello.js
module.exports = () => 'Hello world'
// hello.test.js
let hello = require('hello.js')
test('should get "Hello world"', () => {
expect(hello()).toBe('Hello world') // 测试成功
// expect(hello()).toBe('Hello') // 测试失败
})
实例1
准备阶段
第一步:初始化实例,生成package.json文件
npm init -y
第二步:安装测试框架依赖包
yarn add jest -D
第三步:修改默认生成的package.json文件
原文件
现文件
在 package.json 中指定 test 脚本:
{
"scripts": {
"test": "jest"
}
}
通过指令,使用Jest 的方式
npm run test
//等同于
npx jest --version
//等同于
./node_modules/.bin/jest --version
第四步:安装babel,支持es6语法
- 安装依赖
yarn add --dev babel-jest @babel/core @babel/preset-env
- 配置
.babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
接下来就可以使用ES6的语法了~~~
实测阶段
待测文件src/math.js
测试文件test.js
输入指令npm run test
,进行测试
测试文件不同写法
npm run test
,两个都可以测试通过成功
嵌套写法和测试执行顺序
测试文件完整版