
本文将指导你如何在 GitHub 上配置 Python 项目的代码覆盖率,以便每次推送时都能自动生成覆盖率报告。我们将使用 pytest-cov 工具来生成覆盖率数据,并将其上传到 Codecov 等平台进行可视化展示,从而帮助你更好地了解代码的测试情况。
pytest-cov 是一个 pytest 插件,它可以方便地生成代码覆盖率报告。 要使用它,首先需要安装它:
pip install pytest-cov
接下来,在运行 pytest 时,使用 --cov 选项指定要覆盖的目录。通常,我们会覆盖包含源代码的目录。 例如,如果你的源代码位于 src 目录下,则可以这样运行 pytest:
pytest --cov=src tests/
这会运行你的测试,并生成一个覆盖率报告。默认情况下,该报告会输出到控制台。
立即学习“Python免费学习笔记(深入)”;
为了在每次推送时自动生成覆盖率报告,我们需要配置 GitHub Actions。 修改你的 .github/workflows/github-actions.yaml 文件,使其包含以下步骤:
name: Python CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Test with pytest and coverage
run: |
pip install pytest pytest-cov
pytest --cov=. tests/
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }} # 可选,如果你的项目是私有的
flags: unittests
name: codecov-umbrella解释:
Codecov 是一个代码覆盖率分析平台,它可以将你的覆盖率报告可视化,并提供一些有用的功能,例如:
要使用 Codecov,你需要:
通过使用 pytest-cov 和 GitHub Actions,你可以轻松地在 GitHub 上配置 Python 项目的代码覆盖率。 这可以帮助你更好地了解代码的测试情况,并提高代码质量。 Codecov 等平台可以进一步增强覆盖率分析和可视化。 记住,代码覆盖率只是代码质量的一个指标,不要过度依赖它。 编写高质量的测试用例才是最重要的。
以上就是在 GitHub 上展示 Python 项目的代码覆盖率的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号