pytest 小记 - setup 和 teardown

[pytest 的 setup 和 teardown]

import pytest

def setup_module():
    print("初始化。。。")

def teardown_module():
    print("清理。。。")

class Test_Demo():
    def test_case1(self):
        print("开始执行测试用例1")
        assert 1 + 1 == 2

    def test_case2(self):
        print("开始执行测试用例2")
        assert 2 + 8 == 10

    def test_case3(self):
        print("开始执行测试用例3")
        assert 99 + 1 == 100

结果:

模块初始化。。。
PASSED                     [ 33%]开始执行测试用例1
PASSED                     [ 66%]开始执行测试用例2
PASSED                     [100%]开始执行测试用例3
模块清理。。。

函数级别

setup_function/teardown_function在每个测试函数前后运行,只对函数用例生效,不在类中。

import pytest

def setup_function():
    print("初始化。。。")

def teardown_function():
    print("清理。。。")

def test_case1():
    print("开始执行测试用例1")
    assert 1 + 1 == 2

def test_case2():
    print("开始执行测试用例2")
    assert 2 + 8 == 10

def test_case3():
    print("开始执行测试用例3")
    assert 99 + 1 == 100

结果:

test_setup_teardown2.py::test_case1 初始化。。。
PASSED                               [ 33%]开始执行测试用例1
清理。。。

test_setup_teardown2.py::test_case2 初始化。。。
PASSED                               [ 66%]开始执行测试用例2
清理。。。

test_setup_teardown2.py::test_case3 初始化。。。
PASSED                               [100%]开始执行测试用例3
清理。。。

类级别

类级别函数 setup_class/teardown_class 对类有效,位于类中,在测试类中前后调用一次。

class Test_Demo():
    def setup_class(self):
        print("初始化。。。")

    def teardown_class(self):
        print("清理。。。")

    def test_case1(self):
        print("开始执行测试用例1")
        assert 1 + 1 == 2

    def test_case2(self):
        print("开始执行测试用例2")
        assert 2 + 8 == 10

    def test_case3(self):
        print("开始执行测试用例3")
        assert 99 + 1 == 100

结果:

初始化。。。
PASSED                    [ 33%]开始执行测试用例1
PASSED                    [ 66%]开始执行测试用例2
PASSED                    [100%]开始执行测试用例3
清理。。。

方法级别

方法级别函数 setup_method/teardown_method和setup/teardown对类有效,也位于类中,这两个效果一样,在测试类中每个测试方法前后调用一次。

class Test_Demo():
    def setup_method(self):
        print("初始化。。。")

    def teardown_method(self):
        print("清理。。。")

    def test_case1(self):
        print("开始执行测试用例1")
        assert 1 + 1 == 2

    def test_case2(self):
        print("开始执行测试用例2")
        assert 2 + 8 == 10

    def test_case3(self):
        print("开始执行测试用例3")
        assert 99 + 1 == 100

结果:

初始化。。。
PASSED                    [ 33%]开始执行测试用例1
清理。。。
初始化。。。
PASSED                    [ 66%]开始执行测试用例2
清理。。。
初始化。。。
PASSED                    [100%]开始执行测试用例3
清理。。。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容