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。

  • 相关阅读:
    vue绑定值与字符串拼接两种写法
    cmd 总是很卡,执行一条指令就卡死
    生产工具vscode
    js 关于 array 的相关操作––
    webAssembly
    github上fork别人的分支到目录下  
    68.Promise和setTimeout的区别
    67、Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?
    66、深入理解 promise:promise的三种状态与链式调用
    65.ES6新的特性有哪些?
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13625209.html
Copyright © 2011-2022 走看看