# Jest 单元测试
Jest测试代码和逻辑代码是遵从约定优于配置(convention over configuration)。
jest执行的时候会用**/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x)
正则来查找需要测试的代码文件。
测试文件名要以spec结果
测试文件后缀为js,jsx,ts,tsx
测试文件需要放在tests/unit/目录下或者是/tests/目录下
只要满足这三个要求的测试文件,使用运行jest时就会自动执行。
# 入门案例
使用 npm install -g jest
安装jest
- 新建文件夹 jest-test----mkdir jest-test
- 切换到 jest-test内:-----cd jest-test
- 新建sum.js:------------touch sum.js,并粘贴下面的代码
function sum(a, b) {
return a + b;
}
module.exports = sum;
1
2
3
4
2
3
4
- 新建sum.test.js --------touch sum.test.js,并粘贴下面的代码
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
1
2
3
4
5
2
3
4
5
- 将下面的配置部分添加到你的 package.json 里面:
{
"scripts": {
"test": "jest"
}
}
1
2
3
4
5
2
3
4
5
- 运行npm run test ,会打印
PASS ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)
1
2
2
# 测试vue3.0的reactivity
阅读vue3.0 reactivity源码,并用Jest 进行测试
3.0 中reactivity 文件定义到了 vue-next/packages/reactivity目录下
3.0 中reactivity 的测试文件定义到了 vue-next/packages/reactivity/__tests__目录下
- 切换到 vue-next 文件夹下
- jest reactive --coverage
- 切换到vue-next/coverage 的目前下,打开index.html 查看测试覆盖率
← chrome 调试 微信H5移动端真机调试 →