Pytest 未在 GitHub 操作上找到测试

问题描述

我正在尝试为我处理的 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 构建通过了。