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

    运行结果:

  • 相关阅读:
    oc对象的内存管理
    OC类的本质,深入探讨,load方法和initialize方法
    OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数
    OC的类的构造方法
    OC的@property 和 @synthesize id
    HTML5 Canvas时间效果
    各浏览器的Hack写法【转】
    你自认为理解了JavaScript?【转】
    八大疯狂的HTML5 Canvas及WebGL动画效果——8 CRAZY ANIMATIONS WITH WEBGL AND HTML5 CANVAS【收藏】
    一些达成共识的JavaScript编码风格约定【转】
  • 原文地址:https://www.cnblogs.com/eastonliu/p/14139828.html
Copyright © 2011-2022 走看看