Pytest测试框架(二):pytest 的setup/teardown方法
2021-01-02 09:17
531 查看
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 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 清理。。。
文章标题:Pytest测试框架(二):pytest 的setup/teardown方法
本文作者:hiyo
本文链接:https://hiyong.gitee.io/posts/pytest-xunit-style-of-setup-teardown/
欢迎关注公众号:「测试开发小记」及时接收最新技术文章!
相关文章推荐
- pytest测试框架参数化
- Googletest测试框架搭建方法
- pytest测试框架
- [翻译]pytest测试框架(一)
- [翻译]pytest测试框架(二):使用
- 关于flask 上直接使用py.test测试框架进行测试
- pycharm中测试的三种模式(unittest框架、pytest框架、普通模式)
- pytest测试框架学习-1
- python测试开发之pytest框架(1)
- 在测试中使用pytest框架的注意事项
- Javascript测试框架Jasmine(三):Setup、Teardown、嵌套describe等
- 【Pytest02】全网最全最新的Pytest框架快速进阶篇(pytest前置和后置以及忽略测试用例)
- 自动化测试框架工具pytest教程
- python pytest测试框架介绍一
- PyCharm之pytest测试基本框架
- 基于pytest、mongodb、allure的接口测试框架
- JUnit测试中setup()和teardown()方法
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- 简单了解pytest测试框架setup和tearDown
- python+appium+unittest+pytest 自动化测试框架