• 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 ===========================

  • 相关阅读:
    2019中山纪念中学夏令营-Day19 数论初步【GCD(最大公约数),素数相关】
    2019中山纪念中学夏令营-Day14 图论初步【dijkstra算法求最短路】
    2019中山纪念中学夏令营-Day12[JZOJ]
    2019中山纪念中学夏令营-Day9[JZOJ](第六次模拟赛)
    2019中山纪念中学夏令营-Day4[JZOJ]
    2019中山纪念中学夏令营-Day2[JZOJ]
    2019中山纪念中学夏令营-Day1[JZOJ]
    CCPC2019江西省赛-Problem G.Traffic
    T137223 节能主义
    T137226 彩虹海
  • 原文地址:https://www.cnblogs.com/tlmn2008/p/9590580.html
Copyright © 2020-2023  润新知