zoukankan      html  css  js  c++  java
  • fixture的autouse

    autouse=True,可以使作用域内的测试方法都运行该fixture,而无需手动添加fixture的方法名或者使用pytest.mark.usefixtures。《pytest测试实战》中有个很好的例子:

    #test_autouse.py
    import pytest
    import time
    
    
    #在每个session结束的时候打印时间
    @pytest.fixture(scope="session", autouse=True)
    def footer_session_scope():
        yield
        now = time.time()
        print("--")
        print(f"finished: {time.strftime('%d %b %X', time.localtime(now))}")
        print("----------------------------------")
    
    
    
    #在每个function结束的时候打印测试时间
    @pytest.fixture(autouse=True)
    def footer_function_scope():
        start = time.time()
        yield
        stop = time.time()
        delta = stop - start
        print("
    test duration:{:0.3} seconds".format(delta))     #{:0.3}或者{:.3}表示截取小数点后三位
      
    
    
    def test_1():
        time.sleep(1)
    
    
    def test_2():
        time.sleep(1.23)
    
    
    
    #运行结果
    ============================= test session starts =============================
    platform win32 -- Python 3.7.3, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 -- D:programPython37python.exe
    cachedir: .pytest_cache
    metadata: {'Python': '3.7.3', 'Platform': 'Windows-7-6.1.7601-SP1', 'Packages': {'pytest': '5.1.2', 'py': '1.8.0', 'pluggy': '0.12.0'}, 'Plugins': {'html': '2.1.1', 'metadata': '1.8.0', 'rerunfailures': '9.0'}, 'JAVA_HOME': 'D:\program\Java\jdk1.8.0_171'}
    rootdir: E:virtual_workshoppytest-demo	est_demo5
    plugins: html-2.1.1, metadata-1.8.0, rerunfailures-9.0
    collecting ... collected 2 items
    
    test_autouse.py::test_1 PASSED                                           [ 50%]
    test duration:1.01 seconds
    
    test_autouse.py::test_2 PASSED                                           [100%]
    test duration:1.23 seconds
    --
    finished: 18 Apr 14:00:13
    ----------------------------------
    
    
    ============================== 2 passed in 2.27s ==============================
  • 相关阅读:
    Hive表中四种不同数据导出方式以及如何自定义导出列分隔符
    build doris 0.11.5 on centos 7/ubuntu
    centos7 gcc升级
    linux-nohup后台运行
    sqoop import mysql to hive table:GC overhead limit exceeded
    Hive开启mapjoin优化、并行执行、动态分区
    How to Plan and Configure YARN and MapReduce 2 in HDP 2.0
    Android 8 AudioPolicy 初始化
    Android 8 声音调整过程
    qcom wlan kernel 解读 WCNSS_qcom_cfg.ini 文件
  • 原文地址:https://www.cnblogs.com/my_captain/p/12725684.html
Copyright © 2011-2022 走看看