zoukankan      html  css  js  c++  java
  • pytest fixture执行顺序

    module和function的调用顺序:

    import pytest
    
    @pytest.fixture(scope="module", params=["mod1", "mod2"])
    def modarg(request):
        param = request.param
        print ("  SETUP modarg %s" % param)
        yield param
        print ("  TEARDOWN modarg %s" % param)
    
    @pytest.fixture(scope="function", params=[1,2])
    def otherarg(request):
        param = request.param
        print ("  SETUP otherarg %s" % param)
        yield param
        print ("  TEARDOWN otherarg %s" % param)
    
    def test_0(otherarg):
        print ("  RUN test0 with otherarg %s" % otherarg)
    
    
    def test_1(modarg):
        print ("  RUN test1 with modarg %s" % modarg)
    
    
    def test_2(otherarg, modarg):
        print ("  RUN test2 with otherarg %s and modarg %s" % (otherarg, modarg))

    结果:

    D:Codep2>py.test test_module.py -v -s
    ============================= test session starts =============================
    platform win32 -- Python 2.7.15, pytest-3.6.3, py-1.5.4, pluggy-0.6.0 -- c:python27python.exe
    cachedir: .pytest_cache
    rootdir: D:Codep2, inifile:
    plugins: allure-adaptor-1.7.10
    collected 8 items

    test_module.py::test_0[1]

    SETUP otherarg 1
    RUN test0 with otherarg 1
    PASSED TEARDOWN otherarg 1

    test_module.py::test_0[2]

    SETUP otherarg 2
    RUN test0 with otherarg 2
    PASSED TEARDOWN otherarg 2

    test_module.py::test_1[mod1]

    SETUP modarg mod1
    RUN test1 with modarg mod1
    PASSED


    test_module.py::test_2[mod1-1]

    SETUP otherarg 1
    RUN test2 with otherarg 1 and modarg mod1
    PASSED TEARDOWN otherarg 1

    test_module.py::test_2[mod1-2]

    SETUP otherarg 2
    RUN test2 with otherarg 2 and modarg mod1
    PASSED TEARDOWN otherarg 2

    test_module.py::test_1[mod2]

    TEARDOWN modarg mod1


    SETUP modarg mod2
    RUN test1 with modarg mod2
    PASSED
    test_module.py::test_2[mod2-1]

    SETUP otherarg 1
    RUN test2 with otherarg 1 and modarg mod2
    PASSED TEARDOWN otherarg 1

    test_module.py::test_2[mod2-2]

    SETUP otherarg 2
    RUN test2 with otherarg 2 and modarg mod2
    PASSED TEARDOWN otherarg 2
    TEARDOWN modarg mod2


    ========================== 8 passed in 0.12 seconds ===========================

  • 相关阅读:
    python 检测mobileprovision证书的过期时间
    dynamodb 分区键排序键介绍
    dynamodb 基本操作
    Python 实现一个栈
    openstack阅读链接
    mongoengine文档
    机器学习链接
    mongoengine的使用
    Timer(让函数定时执行)
    线程,进程,IO多路复用,协程的代码
  • 原文地址:https://www.cnblogs.com/tlmn2008/p/9590580.html
Copyright © 2011-2022 走看看