为什么 Jest 执行测试过慢?几个技巧提高执行效率

阅读时长 2 分钟读完

Jest 是一个流行的前端测试框架,但是在执行测试时可能会遇到测试速度慢的情况,可能会对开发和测试工作造成不便。以下几个技巧可以帮助您提高 Jest 的执行效率并优化测试时间。

1. 使用 Jest 提供的 CLI 参数

Jest 提供了一系列的 CLI 参数,可以利用这些参数来调优测试性能,例如:

  • --runInBand: 单线程运行所有测试
  • --maxWorkers: 最大工作进程数
  • --detectOpenHandles: 检测未关闭的句柄

例如,下面的命令将使用单线程运行所有测试:

2. 提高代码覆盖率检测的速度

Jest 提供了一个代码覆盖率工具(coverage),可以运行测试并生成覆盖率报告。默认情况下,Jest 会在每个测试文件中添加一个调试器来收集覆盖率数据,但是这会降低测试速度。

在一个大型项目中,您可以使用以下配置项来提高代码覆盖率检测的速度:

-- -------------------- ---- -------
---------------------- ----------------
-------------------- -
  --------- -
    ----------- ---
    ------------ ---
    -------- ---
    ------------- --
  -
-

Jest 将仅在 src 目录中的 .js 文件上收集覆盖数据。指定覆盖率的最低阈值,这还可以增加测试覆盖率的同时也会降低 Jest 的执行时间。

3. 使用 Cache and Cache Directory 来加快 Jest 测试

您可以通过在本地缓存或缓存目录中保存数据来加快 Jest 的测试。这可以通过以下设置来配置

这样的话,中间件信息和模块数据都会在该指定目录中缓存,这样就可以加快执行测试的速度。

结论

Jest 是一个强大的前端测试框架,但在执行测试时,可能会遇到速度慢的问题,但是上述第一条和第二条技巧可以大大提高 Jest 在执行测试时的速度,同时还有第三条加速 Jest 的测试环节方面。要了解更多有关 Jest 的技巧,请查看官方文档。

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

纠错
反馈