Pytest测试框架:默认从上到下顺序执行测试用例,即按文件中创建顺序执行。
如果想要按自己设定的执行顺序执行,可以通过pytest的函数装饰器,标记被测试函数来决定用例执⾏的顺序。
使用步骤:
1、pyCharm 安装pytest-ordering插件:pip install pytest-ordering
2、在被测试用例前添加一个装饰标记:@pytest.mark.run(order=x)。
根据order传⼊的参数来解决运⾏顺序。
order值全为正数或全为负数时,运⾏顺序:值越⼩,优先级越⾼。
正数和负数同时存在:正数优先级⾼。
执行顺序:order=数字
0 > 较小的正数 > 较大正数 > 不使用order > 较小负数 > 较大负数
3、具体使用实例
# 1.导入pytest
import pytest
# 2.编写测试用例
@pytest.mark.run(order=1)
def test_A():
print("A")
assert "12" in "12345"
@pytest.mark.run(order=2)
def test_B():
print("B")
assert True
@pytest.mark.run(order=4)
def test_C():
print("C")
assert True
@pytest.mark.run(order=3)
def test_D():
print("D")
assert True
if __name__ == '__main__':
pytest.main()
执行结果:
test_order.py::test_A PASSED [ 25%]A
test_order.py::test_B PASSED [ 50%]B
test_order.py::test_D PASSED [ 75%]D
test_order.py::test_C PASSED [100%]C
============== 4 passed in 0.06s ============
Process finished with exit code 0
网友评论