Pytest学习3-setup teardown用法

unittest 图一 和 pytest 图二 对比

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

unittest

image.png

pytest

import pytest

def setup_module():
    print("setup_module():在模块最之前执行,且只执行一次")

def teardown_module():
    print("teardown_module:在模块之后执行,且只执行一次")

def setup_function():
    print("setup_function():每个方法之前执行")

def teardown_function():
    print("teardown_function():每个方法之后执行")

def test_1():
    print("正在执行用例1")
    x = "this"
    assert 'h' in x

class TestClass(object):
    def setup_class(self):
        print("setup_class(self):每个类之前执行一次,只执行一次")

    def teardown_class(self):
        print("teardown_class(self):每个类之后执行一次,只执行一次")

    def test_A(self):
        print("正在执行用例A")
        x = "this"
        assert 'h' in x

    def test_B(self):
        print("正在执行B")
        assert 1 == 1

def test_2():
    print("正在执行用例2")
    assert 1 == 1

if __name__ == "__main__":
    pytest.main(["-q", "test_setup_teardown_pytest.py"])
image.png

可以看出 方法 和 类,先出现的先执行。
模块 之前执行setup_module(),模块之后执行teardown_module()
方法 之前执行 setup_function(),方法之后执行 teardown_function()
类之前执行 setup_class(self) ,类之后执行teardown_class(self)

setup_module()
setup_function()
test_1
teardown_function()
setup_class(self)
test_A
test_B
teardown_class(self)
setup_function()
test_2
teardown_function()
teardown_module
main方法中的-q,为pytest打印测试用例的执行结果级别。

参考:https://www.jianshu.com/p/c5520511ce30

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容