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

GitHub Actions如何访问自定义生成的测试覆盖率徽章?

测试覆盖率徽章访问方案

你生成的coverage.svg仅存在GitHub Actions runner的临时工作目录中,工作流结束后该目录会被自动清理,因此无法直接访问。要在README里展示这个徽章,必须修改工作流来持久化该文件,以下是两种可行方案:

方案一:将徽章提交到仓库(简单场景推荐)

修改你的pytest.yaml工作流,在生成coverage.svg的步骤之后,添加提交推送文件的步骤:

- name: 提交覆盖率徽章
  run: |
    git config --local user.name "github-actions[bot]"
    git config --local user.email "github-actions[bot]@users.noreply.github.com"
    git add coverage.svg
    git commit -m "更新测试覆盖率徽章" || echo "没有需要提交的变更"
    git push

完成后,工作流每次运行都会把最新的coverage.svg推送到仓库根目录,之后在README里可以这样引用:

![测试覆盖率](coverage.svg)
# 或者使用仓库raw链接
![测试覆盖率](https://raw.githubusercontent.com/你的用户名/REPO-NAME/main/coverage.svg)

方案二:用GitHub Pages托管徽章

  1. 先在仓库设置中开启GitHub Pages,选择从gh-pages分支部署
  2. 修改工作流,添加将coverage.svg上传到gh-pages分支的步骤:
- name: 部署到GitHub Pages
  uses: peaceiris/actions-gh-pages@v3
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    publish_dir: ./
    publish_branch: gh-pages
    destination_dir: badges
    keep_files: false

之后在README里用GitHub Pages的链接引用徽章:

![测试覆盖率](https://你的用户名.github.io/REPO-NAME/badges/coverage.svg)

注意:你当前能访问的pytest.yaml/badge.svg是GitHub官方提供的工作流状态徽章,和你生成的测试覆盖率徽章不是同一个东西,必须通过上述方式持久化覆盖率徽章文件,才能在README中展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:45:42