zoukankan      html  css  js  c++  java
  • pytest文档52-命令行参数--setup-show查看fixture的执行过程

    前言

    使用命令行运行 pytest 用例的时候,看不到 fixture 的执行过程.
    如果我们想知道fixture的执行过程和先后顺序,可以加上 --setup-show 命令行参数,帮助查看 fixture 的执行过程.

    --setup-show

    案例参考test_s.py

    # test_s.py
    import pytest
    # 作者-上海悠悠 QQ交流群:717225969
    # blog地址 https://www.cnblogs.com/yoyoketang/
    
    
    @pytest.fixture()
    def login():
        print("前置操作:准备数据")
        yield
        print("后置操作:清理数据")
    
    
    def test_01(login):
        a = "hello"
        b = "hello"
        assert a == b
    
    
    def test_02(login):
        a = "hello"
        b = "hello world"
        assert a in b
    

    命令行执行 pytest test_s.py

    >pytest test_s.py
    ============================= test session starts =============================
    
    collected 2 items
    
    test_s.py ..                                                             [100%]
    
    ========================== 2 passed in 0.10 seconds ===========================
    

    加上 --setup-show 命令行参数后执行

    >pytest test_s.py --setup-show
    ============================= test session starts =============================
    collected 2 items
    
    test_s.py
    SETUP    S base_url
    SETUP    S _verify_url (fixtures used: base_url)
            SETUP    F __pytest_repeat_step_number
            SETUP    F login
            test_s.py::test_01 (fixtures used: __pytest_repeat_step_number, _verify_url, base_url, login).
            TEARDOWN F login
            TEARDOWN F __pytest_repeat_step_number
            SETUP    F __pytest_repeat_step_number
            SETUP    F login
            test_s.py::test_02 (fixtures used: __pytest_repeat_step_number, _verify_url, base_url, login).
            TEARDOWN F login
            TEARDOWN F __pytest_repeat_step_number
    TEARDOWN S _verify_url
    TEARDOWN S base_url
    
    ========================== 2 passed in 0.04 seconds ===========================
    

    这样就可以方便查看用例调用了哪些fixture,上面用例里面只写了一个login
    但是从回溯信息上看到还有几个是内置的fixture会自动调用:__pytest_repeat_step_number, _verify_url, base_url。

  • 相关阅读:
    CSS3 实现六边形Div图片展示效果
    自己编写jQuery插件 之 放大镜
    自己编写jQuery插件 之 无缝滚动
    C#装箱拆箱
    C#基础知识
    数据库锁
    SQL2008中Merge的用法
    SQl去获取相同记录
    判断DataRow中是否包含某列
    Quartz中时间表达式的设置-----corn表达式
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13625209.html
Copyright © 2011-2022 走看看