jest安装全流程保姆级教程
1.npm i --save-dev @types/jest
package.json
"scripts": {
"test": "jest",
"test:watch": "jest --watch"
}
运行
npm run test:watch
2.npm install --save-dev jest ts-jest @types/jest typescript
3. npm install --save-dev @babel/preset-env @babel/preset-typescript
.babelrc
{
"presets": ["@babel/preset-env", "@babel/preset-typescript"]
}
jest.config.js
module.exports = {
transform: {
"^.+\\.(t|j)sx?$": "babel-jest"
},
};
4.npm install --save-dev jest-environment-jsdom
如果是在 jest.config.js 中配置的,类似这样:
module.exports = {
testEnvironment: 'jsdom',
};
tsconfig.json
{
"compilerOptions": {
"lib": ["dom", "es6", "dom.iterable", "scripthost"]
}
}
5.监控覆盖率
jest.config.js
// 代码测试覆盖率通过分析那些文件生成的,!代表不要分析
collectCoverageFrom: ['<rootDir>/src/utils/**/*.{ts,js,tsx}', '!**/node_modules/**', '!**/vendor/**'],
// 代码覆盖率报告的输出目录
coverageDirectory: 'coverage',
// 代码覆盖率的收集器,这里使用 V8 引擎
coverageProvider: 'v8',
// 代码覆盖率报告的格式
coverageReporters: ['text-summary', 'lcov'],
collectCoverage: true,
6.路径转换
npm install --save-dev babel-plugin-module-resolver