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("执行第二个测试用例")

    运行结果:

  • 相关阅读:
    排查oom方法
    逃逸分析-栈上分配
    java堆是分配对象的唯一选择吗
    GC
    jvm为什么把-Xms和-Xmx的值设置成一样
    java堆
    java为何使用native 方法
    linux top命令信息详解
    java定位系统性能问题
    struts 初体验
  • 原文地址:https://www.cnblogs.com/eastonliu/p/14139828.html
Copyright © 2011-2022 走看看