• 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 ==============================
  • 相关阅读:
    51nod 1067 Bash游戏 V2
    洛谷 P1454 圣诞夜的极光 == codevs 1293 送给圣诞夜的极光
    bzoj4754: [Jsoi2016]独特的树叶
    bzoj 4241: 历史研究
    bzoj 1266 [AHOI2006] 上学路线
    bzoj4571: [Scoi2016]美味
    bzoj4570: [Scoi2016]妖怪
    51nod 1238 最小公倍数之和 V3
    一个康托展开的板子
    poweroj1745: 餐巾计划问题
  • 原文地址:https://www.cnblogs.com/my_captain/p/12725684.html
Copyright © 2020-2023  润新知