在 Azure Pipelines 中使用 pytest 发布 Python 项目代码覆盖率

Publish Python project code coverage with pytest in Azure Pipelines

我正在尝试在管道 运行 摘要页面上发布代码覆盖率结果。这是我的 pipeline.yaml 文件:

- bash: |
        pip install .[test]
        pip install pytest pytest-azurepipelines pytest-cov
        pytest --junitxml=junit.xml --cov=./src_dir --cov-report=xml --cov-report=html tests  
  displayName: Test

- task: PublishCodeCoverageResults@1
  inputs:
      codeCoverageTool: Cobertura
      summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
      reportDirectory: '$(System.DefaultWorkingDirectory)/**/htmlcov'  

覆盖率报告一直显示 0%

如何获得正确的代码覆盖率结果?

谢谢!

我能够在我的 Azure 管道“测试”阶段使用以下方法获得正确的代码覆盖率:

        echo "
        [run]
        source = 
          $(Build.Repository.Name)" > .coveragerc
         
        coverage run --context=mytest -m pytest -v -rA --junitxml=junit.xml  --rootdir=tests
        coverage report -m --context=mytest