jest单元测试安装全流程保姆级教程

251 阅读1分钟

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