前言
测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果。
有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回数据作为下个用例传参,等等一系列的问题)
github上有个pytest-ordering插件可以控制用例的执行顺序,github插件地址https://github.com/ftobia/pytest-ordering
环境准备
先安装依赖包
pip install pytest-ordering
使用案例
先看pytest默认的执行顺序,是按test_a.py文件写的用例先后顺序执行的。
#test_a.py import pytest def test_a(): print("用例111") assert True def test_b(): print("用例222") assert True def test_c(): print("用例333") assert True
运行结果
使用pytest-ordering插件后改变测试用例顺序
#test_a.py import pytest @pytest.mark.run(order=2) def test_a(): print("用例111") assert True @pytest.mark.run(order=1) def test_b(): print("用例222") assert True @pytest.mark.run(order=3) def test_c(): print("用例333") assert True
运行结果
这样就是按指定的顺序执行的用例