• pytest学习笔记(pytest框架结构)


    一.pytest框架中使用setup、teardown、更灵活按照用例级别可以分为以下几类:

    1.模块级:(setup_module、teardown_module)在模块始末调用

    2.函数级:(setup_function、teardown_function)在函数始末调用 在类外部

    3.类级:(setup_class、teardown_class)在类始末调用 在类中

    4.方法级:(setup_method、teardown_method)在方法始末调用 在类中

    5.方法级:(setup、teardown)在方法始末调用 在类中

    二.调用顺序

    setup_module>setup_class>setup_method>setup>teardown>teardown_method>teardown_class>teardown_module

    三.实例

    #!/usr/bin/env python
    # _*_coding: utf-8 _*_
    
    def setup_module():
        print("
    setup_module, 只执行一次,当有多个测试类的时候使用")
    
    
    def teardown_module():
        print("
    teardown_module, 只执行一次,当有多个测试类的时候使用")
    
    
    class TestPytest1(object):
    
        @classmethod
        def setup_class(cls):
            print("
    setup_class1, 只执行一次")
    
        @classmethod
        def teardown_class(cls):
            print("
    teardown_class1,只执行一次")
    
        def setup_method(self):
            print("
    setup_method, 每个测试方法执行一次")
    
        def teardown_method(self):
            print("
    teardown_method, 每个测试方法执行一次")
    
        def test_three(self):
            print("test_three, 测试用例")
    
        def test_four(self):
            print("test_four, 测试用例")
    
    
    class TestPytest2(object):
    
        @classmethod
        def setup_class(cls):
            print("
    setup_class2, 只执行一次")
    
        @classmethod
        def teardown_class(cls):
            print("
    teardown_class2,只执行一次")
    
        def setup_method(self):
            print("
    setup_method2, 每个测试方法执行一次")
    
        def teardown_method(self):
            print("
    teardown_method2, 每个测试方法执行一次")
    
        def test_one(self):
            print("test_one, 测试用例")
    
        def test_two(self):
            print("test_two, 测试用例")

    四.执行结果

     

    Testing started at 15:06 ...
    C:Pythonpython.exe "C:Program FilesJetBrainsPyCharm Community Edition 2019.1helperspycharm\_jb_pytest_runner.py" --path C:/Users/wanwen/PycharmProjects/vigo/xuexi/20210123/test_run_setup.py
    Launching pytest with arguments C:/Users/wanwen/PycharmProjects/vigo/xuexi/20210123/test_run_setup.py in C:UserswanwenPycharmProjectsvigoxuexi20210123
    ============================= test session starts =============================
    platform win32 -- Python 3.8.0, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
    rootdir: C:UserswanwenPycharmProjectsvigoxuexi20210123
    plugins: html-2.1.1, metadata-1.11.0collected 4 items

    test_run_setup.py
    setup_module, 只执行一次,当有多个测试类的时候使用

    setup_class1, 只执行一次

    setup_method, 每个测试方法执行一次
    .test_three, 测试用例

    teardown_method, 每个测试方法执行一次

    setup_method, 每个测试方法执行一次
    .test_four, 测试用例

    teardown_method, 每个测试方法执行一次

    teardown_class1,只执行一次

    setup_class2, 只执行一次

    setup_method2, 每个测试方法执行一次
    .test_one, 测试用例

    teardown_method2, 每个测试方法执行一次

    setup_method2, 每个测试方法执行一次
    .test_two, 测试用例

    teardown_method2, 每个测试方法执行一次

    teardown_class2,只执行一次

    teardown_module, 只执行一次,当有多个测试类的时候使用
    [100%]

    ============================== 4 passed in 0.04s ==============================

    Process finished with exit code 0

  • 相关阅读:
    .net URL加密和解密
    全面分析VB.NET文件传送
    如何美化你的.net 应用程序 (皮肤使用)
    获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
    这是博客园的一个Bug吗?
    [转]深入理解JavaScript闭包(closure)
    【翻译】在ASP.NET中的DatePicker控件
    [翻译]ASP.NET MVC 2 Preview 1 发布了
    页面性能优化减少HTTP请求
    [翻译]C#闭包内幕(Looking Inside C# Closures)
  • 原文地址:https://www.cnblogs.com/vigo01/p/14321011.html
Copyright © 2020-2023  润新知