You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jq将Jest覆盖率数据转为Markdown在GitHub Actions展示

Jest 测试覆盖率转 Markdown 脚本(适配 GitHub Actions)

在你的 ci.yml 中,执行完 Jest 测试生成 coverage-summary.json 后,添加以下步骤即可将覆盖率数据转为美观的 Markdown 格式并输出到 $GITHUB_STEP_SUMMARY:

- name: Generate test coverage summary in Markdown
  run: |
    echo "## 🧪 Jest Test Coverage Summary" >> $GITHUB_STEP_SUMMARY
    # 生成总覆盖率统计表格
    echo "### Overall Coverage" >> $GITHUB_STEP_SUMMARY
    jq -r '
      .total |
      "| Metric | Value |\n|---------|-------|\n" +
      "| Statements | \( .statements.pct )% |\n" +
      "| Branches | \( .branches.pct )% |\n" +
      "| Functions | \( .functions.pct )% |\n" +
      "| Lines | \( .lines.pct )% |"
    ' coverage-summary.json >> $GITHUB_STEP_SUMMARY

    # 生成各文件覆盖率详情表格
    echo -e "\n### File-by-File Coverage Details" >> $GITHUB_STEP_SUMMARY
    jq -r '
      del(.total) |
      to_entries |
      "| File | Statements | Branches | Functions | Lines |\n|-------|-------------|-----------|------------|-------|\n" +
      map(
        "| \( .key ) | \( .value.statements.pct )% | \( .value.branches.pct )% | \( .value.functions.pct )% | \( .value.lines.pct )% |"
      ) |
      join("\n")
    ' coverage-summary.json >> $GITHUB_STEP_SUMMARY

说明

  • 脚本通过 jq 直接解析 coverage-summary.json 的嵌套结构,先提取 total 节点生成总览统计,再遍历剩余的文件节点生成详情表格
  • 输出的 Markdown 会自动在 GitHub Actions 的步骤摘要中以表格形式展示,可读性远优于原始 JSON

内容的提问来源于stack exchange,提问作者Pix81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 17:05:46