# 具体执行流程: # 1.收集测试项 # 2.测试收集检查 # 3.测试分发 # 4.测试执行 # 5.测试结束 import pytest from pytest_assume.plugin import assume """使用标签 @pytest.mark.run(order=3) ,order 对应 数字的数值 标记测试顺序""" @pytest.mark.parametrize('x,y', [(1, 1), (2, 3)]) @pytest.mark.run(order=3) def test_1(x, y): assert x == y assert x > y assert x + 1 >= y print('测试完成') # 使用 pytest-assume 插件,取消断言失败后用例整体失败不继续执行问题 @pytest.mark.run(order=2) @pytest.mark.parametrize('x,y', [(1, 1), (2, 3)], ids=['case1', 'case2']) def test_2(x, y): pytest.assume(x == y) pytest.assume(x > y) pytest.assume(x + 1 >= y) print('测试完成') # 使用 with + assume 假设 执行,忽略断言失败继续执行 @pytest.mark.run(order=1) @pytest.mark.parametrize('x,y', [(1, 1), (2, 3)], ids=['case1', 'case2']) def test_3(x, y): with assume: assert x == y with assume: assert x > y with assume: assert x + 1 >= y print('测试完成')