zoukankan      html  css  js  c++  java
  • Pytest学习笔记(八)经典的setup和teardown

    在pytest中也有类似于unittest中的setup和teardown功能的默认函数或方法:

    • 函数级(setup_function/teardown_function)
    • 方法级(setup_method/teardown_method)
    • 类级(setup_class/teardown_class)
    • 模块级(setup_module/teardown_module)

    一、函数级(setup_function/teardown_function)

    用于函数形式的测试用例,每个测试用例执行前调用一次setup_function,执行结束后调用一次teardown_function,如下:

    def setup_function():
        print("准备条件")
    
    
    def teardown_function():
        print("销毁条件")
    
    
    def test_001():
        print("执行第一个测试用例")
    
    
    def test_002():
        print("执行第二个测试用例")

    运行结果:

     二、方法级(setup_method/teardown_method)

    用于类中方法形式的测试用例,每个测试用例执行前调用一次setup_method,执行结束后调用一次teardown_method,如下:

    class TestOne:
        def setup_method(self):
            print("准备条件")
    
        def teardown_method(self):
            print("销毁条件")
    
        def test_001(self):
            print("执行第一个测试用例")
    
        def test_002(self):
            print("执行第二个测试用例")

    运行结果:

     三、类级(setup_class/teardown_class)

    用于类中,在一个类中只调用一次,用例开始前调用一次setup_class,用例结束后调用一次teardown_class,如下:

    class TestOne:
        def setup_class(self):
            print("准备条件")
    
        def teardown_class(self):
            print("销毁条件")
    
        def test_001(self):
            print("执行第一个测试用例")
    
        def test_002(self):
            print("执行第二个测试用例")

    运行结果:

    四、模块级(setup_module/teardown_module)

    用于当前模块,当前模块执行前调用一次setup_module,当前模块执行结束后调用一次teardown_module,如下:

    def setup_module():
        print("开始执行当前模块")
    
    
    def teardown_module():
        print("结束执行当前模块")
    
    
    class TestOne:
        def setup_class(self):
            print("准备条件")
    
        def teardown_class(self):
            print("销毁条件")
    
        def test_001(self):
            print("执行第一个测试用例")
    
        def test_002(self):
            print("执行第二个测试用例")

    运行结果:

  • 相关阅读:
    P4345 [SHOI2015]超能粒子炮·改 Lucas
    P2480 [SDOI2010]古代猪文 Lucas+CRT合并
    nginx优化之request_time 和upstream_response_time差别
    务器遭受攻击后的一般处理过程
    sublime text修改TAB缩进为空格
    MySQL同主机不同数据库的复制命令
    【已解决】BeautifulSoup已经获得了Unicode的Soup但是print出来却是乱码
    关于mongodb ,redis,memcache
    MySQL DBA 刚入职时如何快速拥抱新的环境
    看linux连接进程占用的实时流量iftop netatop NetHogs
  • 原文地址:https://www.cnblogs.com/eastonliu/p/14139828.html
Copyright © 2011-2022 走看看