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的操作

  • 相关阅读:
    静态初始化块和main方法哪个先被执行?
    Java中的构造方法
    Java中的局部变量、成员变量和静态变量
    经典算法冒泡排序java版
    Java里数组的三种初始化方式
    聊天,发朋友圈可以不打字,但是表情怎么能少呢?那么如何用win10自带的微软拼音输入法打出表情呢?
    java打印实心10*10正方形, 空心10*10正方形
    安卓工程目录
    (1)开源中国android客户端源码分析
    认识电脑的开机流程与主引导分区(MBR)
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12252743.html
Copyright © 2011-2022 走看看