zoukankan      html  css  js  c++  java
  • 4.pytest中固定装置setup和teardown

    pytest提供了不同级别的setup和teardown,来完成测试中前置和后置的操作。

    1.函数级别:setup_function/teardown_function

    def test_source():
        print('##### 打印功能 #####')
    
    def setup_function():
        print('----- 开始打印 -----')
    
    def teardown_function():
        print('----- 结束打印 -----')

     2.类级别:setup_class/teardown_class

    def add(a,b):
        return a+b
    #注意setup_class 和teardown_class 必须写在类中
    class Test_add():
       
        def setup_class(self):
            print('----- 计算开始 -----')
    
        def teardown_class(self):
            print('----- 计算结束 -----')
    
        def test_1(self):
            print('----- 正在第一次计算 -----')
            assert add(1,2)==3
    
        def test_2(self):
            print('----- 正在第二次计算 -----')
            assert add(2,3)==5

     3.方法级别:setup_method/teardown_method

    def add(a,b):
        return a+b
    
    class Test_add():
      
        def setup_class(self):
            print('我是类级别的setup')
    
        def teardown_class(self):
            print('我是类级别的teardown')
       # 注意:setup_method和teardown_method 必须放在类中
        def setup_method(self):
            print('我是方法级别的setup')
    
        def teardown_method(self):
            print('我是方法级别的teardown')
    
        def test_1(self):
            print('----- 正在第一次计算 -----')
            assert add(1,2)==3
    
        def test_2(self):
            print('----- 正在第二次计算 -----')
            assert add(2,3)==5

    4.模块级别:setup_module/teardown_module

    def test_source():
        print('##### 打印功能 #####')
    
    def setup_function():
        print('----- 开始打印 -----')
    
    def teardown_function():
        print('----- 结束打印 -----')
    
    def setup_module():
        print('我是模块级别的setup')
    
    def teardown_module():
        print('我是模块级别的module')
    
    def add(a,b):
        return a+b
    
    class Test_add():
    
        def setup_class(self):
            print('我是类级别的setup')
    
        def teardown_class(self):
            print('我是类级别的teardown')
    
        def setup_method(self):
            print('我是方法级别的setup')
    
        def teardown_method(self):
            print('我是方法级别的teardown')
    
        def test_1(self):
            print('----- 正在第一次计算 -----')
            assert add(1,2)==3
    
        def test_2(self):
            print('----- 正在第二次计算 -----')
            assert add(2,3)==5

     5.单独的setup和teardown

      使用单独的setup和teardown其作用和setup_function/teardown_function/setup_method/teardown_method 一样

    总结上述各级别的setup和teardown如果其中setup出现异常则不会执行teardown的操作

  • 相关阅读:
    测试
    201920201 20199320《Linux内核原理与分析》第四周作业
    201920201 20199320《Linux内核原理与分析》第六周作业
    201920201 20199320《Linux内核原理与分析》第五周作业
    201920201 20199320《Linux内核原理与分析》第七周作业
    201920201 20199320《Linux内核原理与分析》第一周作业
    201920201 20199320《Linux内核原理与分析》第八周作业
    ASP.NET MVC3 Custom FormAuthorize
    堆排序练习题
    面试题:4亿里有多少个1(11算2个)。
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12252743.html
Copyright © 2011-2022 走看看