Pytest用例执行顺序控制

有些场景用例是需要指定顺序执行的,或者直接跳过,或者根据条件跳过

一.默认顺序

二.指定顺序

三不执行

四.条件不执行

一.默认顺序:ASCII码的顺序自动排序

二.order控制

@pytest.mark.run(order=n) 会按照n的数字大小顺序执行

注意安装工具 pip install pytest_ordering。不然既不报错,又不运行

三.直接跳过

@pytest.mark.skip(“跳过的条件说明,用rs指令就可以打印出来”)

四.条件不执行,条件满足就不执行

@pytest.mark.skipif(condition=="条件值",reason="smoketest")

Terminal命令执行时:pytest logiuyo.py -rs -s -v 注释:-rs表示显示详细信息 -s表示显示print信息 -v表示显示详细信息

以下是代码实例

import pytest
condition="冒烟测试"
class Test_Class2():
    def setup_method(self):
        print('setup_method')
    @pytest.mark.run(order=2)
    def test_01(self):
        print("测试方法1")
    @pytest.mark.run(order=1)
    def test_02(self):
        print('测试方法2')

    @pytest.mark.skipif(condition=="冒烟测试",reason='smoketest')
    def test_03(self):
        print('测试方法3')

    def teardown_method(self):
        print('teardown_method')

运行结果

 


版权声明:本文为dizhujiade原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。