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。

  • 相关阅读:
    十一:jinja2模板传参
    Python基础—流程控制
    Python字符串格式化输出
    Python基本数据类型--列表、元组、字典、集合
    Python基本数据类型之字符串、数字、布尔
    Python用户输入和代码注释
    Python中变量和常量的理解
    Python程序的执行方式
    Python初识
    python初识
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13625209.html
Copyright © 2011-2022 走看看