前言
pytest的断言失败后,后面的代码就不会执行了,通常一个用例我们会写多个断言,有时候我们希望第一个断言失败后,后面能继续断言。
pytest-assume插件可以解决断言失败后继续断言的问题。github地址:https://github.com/astraw38/pytest-assume
环境准备
先安装pytest-assume依赖包
pip install pytest-assume
遇到问题
一下是一个简单案例,输入的测试数据有3种,我们需要断言同时满足三种情况
x==y , x+y>1 ,x>0
import pytest
@pytest.mark.parametrize(('x','y'),[(1,1),(1,0),(0,1)])
def test_simple(x,y):
print("测试数据x:{},y:{}".format(x,y))
assert x==y
assert x+y>1
assert x>0
运行结果
================================== FAILURES ===================================
______________________________ test_simple[1-0] _______________________________
x = 1, y = 0
@pytest.mark.parametrize(('x',&#