Skip to main content

Jest配置

Jest中所有的配置项可在官网查看

生成配置文件:

npx jest --init

init

常见配置项

collectCoverage

收集并显示测试覆盖率,包含每个文件中每种类型的代码(语句、分支、函数和行)的测试覆盖率。

coverage

  1. %Stmts:包含语句的百分比,即被测试覆盖的语句占总语句数的比例。
  2. %Branch:包含分支的百分比,即被测试覆盖的分支占总分支数的比例。
  3. %Funcs:包含函数的百分比,即被测试覆盖的函数占总函数数的比例。
  4. %Lines:包含行的百分比,即被测试覆盖的行占总行数的比例。

collectCoverage设置为true之后,还可以设置coverageThreshold代码覆盖率的阀值:

module.exports = {
// ...
collectCoverage: true,
coverageThreshold: {
global: {
branches: 90,
functions: 90,
lines: 90,
statements: 90,
},
},
// ...
};

另外,在项目根目录下面,还新生成了一个coverage的目录,里面其实就是各种格式(xml、json、html)的测试报告,之所以生成不同格式的报告,是为了方便你后面通过不同的工具来进行读取。

testMatch

指定Jest应该运行哪些测试文件,默认情况下, Jest会查找.test.js或者.spec.js结尾的文件。

moduleFileExtensions

指定Jest查找测试文件时应该搜索哪些文件扩展名。

moduleFileExtensions: [
"js",
"mjs",
"cjs",
"jsx",
"ts",
"tsx",
"json",
"node"
]

setupFilesAfterEnv

指定Jest在运行测试之前应该运行哪些文件。

setupFilesAfterEnv: ['<rootDir>/src/setupTests.js']

在执行每个测试套件(文件)之前,都会先执行这个setupTests文件。