• pytest学习笔记(控制用例的执行顺序)


    一、pytest加载所有的用例都是乱序的,如果想指定用例的顺序,可以使用pytest-ordering插件,指定用例的执行顺序只需要在测试用例的方法前面加上装饰器@pytest.mark.run(order=[num])设置order的对应的num值,它就可以按照num的大小顺序来执行。

    应用场景:有时运行测试用例要指定它的顺序,比如有些场景要先需要登入,才能执行后面的流程比如购物流程,下单流程,这时就需要指定用例的执行顺序。通过pytest-ordering这个插件可以完成用例顺序的指定。

    二、安装

    pip install pytest-ordering

    三、实例

    #!/usr/bin/env python
    # _*_coding: utf-8 _*_
    import pytest
    
    
    class Testpytest(object):
    
        @pytest.mark.run(order=-1)
        def test_two(self):
            print("test_two, 测试用例")
    
        @pytest.mark.run(order=3)
        def test_one(self):
            print("test_one, 测试用例")
    
        @pytest.mark.run(order=1)
        def test_three(self):
            print("test_three, 测试用例")

    四运行结果

    Testing started at 15:51 ...
    C:Pythonpython.exe "C:Program FilesJetBrainsPyCharm Community Edition 2019.1helperspycharm\_jb_pytest_runner.py" --path C:/Users/wanwen/PycharmProjects/vigo/xuexi/20210123/test_order.py
    Launching pytest with arguments C:/Users/wanwen/PycharmProjects/vigo/xuexi/20210123/test_order.py in C:UserswanwenPycharmProjectsvigoxuexi20210123
    ============================= test session starts =============================
    platform win32 -- Python 3.8.0, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
    rootdir: C:UserswanwenPycharmProjectsvigoxuexi20210123
    plugins: html-2.1.1, metadata-1.11.0, ordering-0.6collected 3 items
    
    test_order.py                                                         [100%]
    
    ============================== 3 passed in 0.06s ==============================
    
    Process finished with exit code 0
    .test_three, 测试用例
    .test_one, 测试用例
    .test_two, 测试用例
  • 相关阅读:
    GDOI2017 之后
    [codevs1378]选课
    图的连通_Tarjan
    [bzoj1270 BJWC2008]雷涛的小猫
    [51mod 1201]整数划分 dp
    这只是一个非常水的人,写下的非常水的文字,不看也罢
    Python基础中所出现的异常报错总结
    Python简单爬虫入门二
    Python写地铁的到站的原理简易版
    HTML基本组成结构与标签的认识
  • 原文地址:https://www.cnblogs.com/vigo01/p/14321130.html
Copyright © 2020-2023  润新知