乐闻世界logo
搜索文章和话题

如何在 Jest 中生成和配置代码覆盖率报告?覆盖率指标有哪些?

2月21日 15:54

Jest 提供了强大的代码覆盖率报告功能,帮助开发者了解测试覆盖情况:

生成覆盖率报告:

bash
# 运行测试并生成覆盖率报告 jest --coverage # 或在 package.json 中配置 { "scripts": { "test:coverage": "jest --coverage" } }

覆盖率指标:

  • Statements(语句覆盖率):被执行的代码语句百分比
  • Branches(分支覆盖率):被执行的条件分支百分比
  • Functions(函数覆盖率):被调用的函数百分比
  • Lines(行覆盖率):被执行的代码行百分比

配置覆盖率:

javascript
// jest.config.js module.exports = { collectCoverage: true, collectCoverageFrom: [ 'src/**/*.{js,jsx,ts,tsx}', '!src/**/*.d.ts', '!src/**/*.stories.{js,jsx,ts,tsx}', '!src/index.{js,jsx,ts,tsx}' ], coverageThreshold: { global: { branches: 80, functions: 80, lines: 80, statements: 80 } }, coverageReporters: ['text', 'lcov', 'html'] };

覆盖率报告格式:

  • text:命令行文本输出
  • lcov:生成 lcov.info 文件,用于 CI/CD 工具
  • html:生成 HTML 报告,可视化查看
  • json:JSON 格式报告

最佳实践:

  • 设置合理的覆盖率阈值(通常 80%)
  • 排除不需要测试的文件(配置文件、类型定义等)
  • 在 CI/CD 中集成覆盖率检查
  • 定期审查未覆盖的代码
  • 关注核心业务逻辑的覆盖率
标签:Jest