在 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
我正在尝试在管道 运行 摘要页面上发布代码覆盖率结果。这是我的 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