Jest 的配置文件及其常见配置项

阅读时长 3 分钟读完

前言

Jest 是 Facebook 推出的一款流行前端测试框架,它具有简单易用、快速执行、提供详细的测试结果和丰富的插件等多种优点,得到了很多前端开发者的青睐。在使用 Jest 进行测试时,我们可以通过配置文件对测试的行为进行自定义,提高测试的效率和精度。本文将介绍 Jest 的配置文件的常见配置项及使用方法,希望读者可以在学习 Jest 测试框架时得到一些帮助。

Jest 配置文件

Jest 的配置文件是 jest.config.js,它默认位于项目根目录下,支持多种不同的配置项,包括被测代码的路径、测试覆盖率、文件快照等等。下面是一个简单的 Jest 配置文件的例子:

在这个配置文件中,我们可以看到两个常见的配置项:testMatch 和 testEnvironment。

常见配置项

1. testMatch

testMatch 用来指定 Jest 执行哪些测试文件。它应该是一个包含文件路径规则的数组,Jest 将执行所有符合规则的测试文件。例如,在上面的例子中,Jest 将会执行根目录下所有以 .test.js、.spec.js、.test.ts、.spec.ts 结尾的文件,和在 tests 目录下以同样方式命名的测试文件。

2. testEnvironment

testEnvironment 用来指定 Jest 运行测试的环境。测试环境可以是浏览器环境、node 环境等,也可以是开发者自己编写的一个环境。例如,在上面的例子中,Jest 将会使用 node 运行测试。Jest 支持多种测试环境,常见的有:jsdom、node、puppeteer、jsdom-sixteen、browserstack-driver 等。可以通过 yarn add 或 npm install 安装相应的测试环境,然后在配置文件中进行指定。

更多常见的配置项还包括:

  • collectCoverageFrom: 用来指定哪些文件需要统计测试覆盖率;
  • coverageReporters: 用来制定测试覆盖率报告的格式;
  • setupFilesAfterEnv: 用来指定在所有测试文件之前需要加载的脚本;
  • moduleNameMapper: 用来指定在测试中需要进行 Mock 的依赖等等。

配置文件的优先级

Jest 的配置文件有多种不同的优先级。具体来讲,优先级从高到低分别为:

  1. 命令行参数中的配置项

  2. 环境变量中的配置项

  3. 从根目录开始向上查找的第一个 jest.config.js 文件

  4. 从根目录开始向上查找的第一个 package.json 文件中的 jest 配置项

如果同一个配置项在多个地方都有指定,则 Jest 将使用优先级最高的那个配置项。

总结

本文介绍了 Jest 的配置文件及其常见的配置项,从测试匹配、测试环境到测试覆盖率,都给出了相应的配置方法。在使用 Jest 进行前端测试时,合理配置 Jest 的配置文件非常重要,可以大大提升测试的易用性和准确性。希望读者可以通过本文了解到 Jest 配置文件的基本使用方法和优点,更好地使用 Jest 进行前端测试。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649c98a048841e98949576b0

纠错
反馈