• Novice学Pytest(3)setup和teardown执行顺序


    一、前言

      虽然知道自动化脚本一般要写前后置方法,但有时还是会记不清执行顺序和具体意义。。。其中setup翻译是设置,teardown翻译是拆卸

      unittest有2个前置方法和2个后置方法,分别是:

    • setup()
    • setupClass()
    • teardown()
    • teardownClass()

      pytest提供了10种方法,分别是:

    • 模块级别:setup_module、teardown_module
    • 函数级别:setup_function、teardown_function,不在类中的方法
    • 类级别:setup_class、teardown_class
    • 方法级别:setup_method、teardown_method
    • 方法细化级别:setup、teardown

      二、实例代码

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    __Title__   =
    __Time__    =  2021/8/7 19:12
    __Author__  =  Isaymore
    __Blog__    =  https://www.cnblogs.com/huainanhai/
    """
    
    import pytest
    
    def setup_module():
        print("======整个.py模块开始前只执行一次:打开浏览器======")
    
    def teardown_module():
        print("======整个.py模块结束后只执行一次:关闭浏览器======")
    
    def setup_function():
        print("===每个函数级别用例开始前都执行setup_function===")
    
    def teardown_function():
        print("===每个函数级别用例结束后都执行teardown_function===")
    
    def test_one():
        print("one")
    
    def test_two():
        print("two")
    
    class Testcase:
        def setup_class(self):
            print("====整个测试类开始前只执行一次setup_class====")
    
        def teardown_class(self):
            print("====整个测试类结束后执行一次teardown_class====")
    
        def setup_method(self):
            print("==类里面每个用例执行前都会执行setup_method==")
    
        def teardown_method(self):
            print("==类里面每个用例结束后都会执行teardown_method==")
    
        def setup(self):
            print("类里面每个用例执行前都会执行setup")
    
        def teardown(self):
            print("类里面每个用例结束后后都会执行teardown")
    
        def test_three(self):
            print("three")
    
        def test_four(self):
            print("four")
    
    if __name__ == '__main__':
        pytest.main(["-q","-s","-ra","test_order.py"])

      执行结果:

    参考链接:https://www.cnblogs.com/poloyy/p/12641991.html

  • 相关阅读:
    Linux 文件的软连接和硬连接
    URLOS发布NFS文件加速功能,可有效提升NFS小文件读取性能
    Vue底层学习3——手撸发布订阅模式
    Vue底层学习2——手撸数据响应化
    Vue底层学习1——原理解析
    rest api测试工具frisbyjs
    git ignore 微软临时文件(~$xxx.xlsx)
    数据虚拟化-基础概念
    elasticsearch移除映射类型(mapping type)
    activemq Virtual Destinations 虚拟目的地
  • 原文地址:https://www.cnblogs.com/huainanhai/p/15113303.html
Copyright © 2020-2023  润新知