1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Pytest测试框架(二):pytest 的setup/teardown方法

Pytest测试框架(二):pytest 的setup/teardown方法

时间:2023-12-23 20:57:07

相关推荐

Pytest测试框架(二):pytest 的setup/teardown方法

系列文章目录

Pytest测试框架(一):pytest安装及用例执行

Pytest测试框架(二):pytest 的setup/teardown方法

Pytest测试框架(三):pytest fixture 用法

Pytest测试框架(四):pytest 参数化用例

Pytest测试框架(五):pytest + allure生成测试报告

Pytest插件开发


目录

系列文章目录模块级别函数级别类级别方法级别

PyTest支持xUnit style 结构, setup() 和 teardown() 方法用于初始化和清理测试环境,可以保证测试用例的独立性。pytest的setup/teardown方法包括:模块级别(setup_module/teardown_module)、函数级别(setup_function/teardown_function)、类级别(setup_class/ teardown_class)、方法级别(setup_method/teardown_methond或者setup/teardown)。

模块级别

模块中的第一个测试用例开始前执行setup_module方法,模块中的最后一个测试用例结束后运行teardown_module方法。

import pytestdef setup_module():print("初始化。。。")def teardown_module():print("清理。。。")class Test_Demo():def test_case1(self):print("开始执行测试用例1")assert 1 + 1 == 2def test_case2(self):print("开始执行测试用例2")assert 2 + 8 == 10def test_case3(self):print("开始执行测试用例3")assert 99 + 1 == 100

结果:

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

函数级别

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

import pytestdef setup_function():print("初始化。。。")def teardown_function():print("清理。。。")def test_case1():print("开始执行测试用例1")assert 1 + 1 == 2def test_case2():print("开始执行测试用例2")assert 2 + 8 == 10def 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 == 2def test_case2(self):print("开始执行测试用例2")assert 2 + 8 == 10def test_case3(self):print("开始执行测试用例3")assert 99 + 1 == 100

结果:

初始化。。。PASSED[ 33%]开始执行测试用例1PASSED[ 66%]开始执行测试用例2PASSED[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 == 2def test_case2(self):print("开始执行测试用例2")assert 2 + 8 == 10def test_case3(self):print("开始执行测试用例3")assert 99 + 1 == 100

结果:

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

--THE END--

文章标题:Pytest测试框架(二):pytest 的setup/teardown方法

本文作者:hiyo

本文链接:https://hiyong.gitee.io/posts/pytest-xunit-style-of-setup-teardown/

欢迎关注公众号:「测试开发小记」及时接收最新技术文章!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。