import pytest
@pytest.mark.flaky(reruns=3, reruns_delay=1)
def test_demo():
assert 1 == 2
import pytest
@pytest.mark.run(order=1)
def test_first():
print("第一个跑")
@pytest.mark.run(order=2)
def test_second():
print("第二个跑")
@pytest.mark.run(order=-1)
def test_last():
print("最后跑")
from pytest_assume.plugin import assume
def test_many_assert():
assume(1 == 2, "第一个断言失败")
assume(2 == 2, "第二个断言成功")
assume(3 == 4, "第三个断言失败")
print("所有断言都会执行,不会中断!")
@pytest.mark.skip("暂时不执行")
def test_skip():
pass
@pytest.mark.skipif(condition=True, reason="版本不支持")
def test_skip_if():
pass
@pytest.mark.xfail(reason="已知BUG")
def test_expect_fail():
assert 1 == 2
@pytest.mark.smoke
def test_smoke():
assert 1 == 2
@pytest.mark.api
def test_get_user():
assert 1 == 1
@pytest.mark.regression
def test_order():
assert 1 == 1
import pytest
from pytest_assume.plugin import assume
@pytest.fixture(scope="session")
def token():
print("\n登录获取token...")
yield "auto_token_123456"
print("\n测试结束,清理登录")
@pytest.mark.parametrize("case", [
{"url": "/api/user", "expect": 200},
{"url": "/api/order", "expect": 403},
])
@pytest.mark.flaky(reruns=3)
def test_all(case, token):
assume(token is not None)
assume(case["url"] is not None)
assume(isinstance(case["expect"], int))
print(f"执行用例:{case['url']}")