简介:
我创建了一个简单的add函数,以便更深入地了解Azure Dev操作是如何工作的。当我故意让test_method2()失败时,管道就存在于代码'1‘退出的##errorBash中。因此,在Azure中,概述了测试(哪些测试很好,哪些测试没有测试),并且缺少代码覆盖率。我希望在测试失败的情况下仍然提供概述测试和代码覆盖。总之,测试失败是很好的,但是应该报告这一点,不应该停止这个过程。
注意,当我修复测试,即'def test_method2():assert (15,5) == 20‘时,管道正常工作。
我的问题是,在测试失败的情况下,需要什么来确保仍然提供测试和代码覆盖率的概述?
calc_lean.py:
def add(x, y):
"""Add Function"""
return x + ytest_calc_lean.py:
import pytest
from calc_lean import add
def test_method1():
assert add(3,5) == 8
def test_method2():
assert add(15,5) == 21 azure-pipelines.yml:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Python37:
python.version: '3.7'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- script: |
pip install pytest
pip install pytest-cov
pytest --doctest-modules --junitxml=junit/test-results.xml --cov=. --cov-report=xml
displayName: pytest
- task: PublishTestResults@2
displayName: 'Publish Test Results **/test-results.xml'
inputs:
testResultsFiles: '**/test-results.xml'
testRunTitle: 'Python $(python.version)'
- task: PublishCodeCoverageResults@1
displayName: 'Code Coverage'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'发布于 2020-07-02 09:23:34
解决方案:问题已经在其他文章中讨论过了。除其他外,Failed Cypress test exit in 'bash exited with code 1' in Azure DevOps
加上“真”这句话就成了事实。那是,
pytest --doctest-modules --junitxml=junit/test-results.xml --cov=. --cov-report=xml || true抑制错误
https://stackoverflow.com/questions/61938386
复制相似问题