问题描述
我正在尝试为我处理的 Python 包生成代码覆盖率,并创建了一个 GitHub 操作来执行此操作,该操作使用 codecov-action。工作流程如下所示:
name: Code Coverage
on: [push]
jobs:
run:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@master
- name: Setup Python
uses: actions/setup-python@master
with:
python-version: 3.7
- name: Install dependencies
run: |
pip install pytest
pip install pytest-cov
pip install -r requirements.txt
- name: Generate coverage report
run: |
pytest --cov=./epispot --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
verbose: true
fail_ci_if_error: true
运行时输出错误,可以查看here。 Pytest 输出错误代码 5 - 意味着没有找到测试 - 但是当我在我的计算机上运行它时,它可以正常工作。为什么会发生这种情况?
解决方法
您的情况可能并非如此,但是当我在分支中添加 Python 测试但向 master 分支添加了带有 pytest
的 Github 操作时遇到了这个问题。所以,pytest 没有找到任何测试,因为实际上没有。
在我通过测试将 master 分支与工作流合并到该分支后,使用 pytest 的 Python 构建通过了。