Python单元测试框架之pytest 3 -- fixtures
From: https://www.cnblogs.com/fnng/p/4769020.html
Python单元测试框架之pytest -- fixtures
2015-08-29 13:05 by 虫师, 10695 阅读, 0 评论, 收藏, 编辑
fixtures不太好翻译,可看作是夹心饼干最外层的两片饼干。通常用setup/teardown来表示。它主要用来包裹测试用例,为什么需要这样的饼干呢?我们以web自动化测试为例,例如,要测试的某系统需要登录/退出。那么每一条用例执行前都需要登录,执行完又都需要退出,这样每条用例重复编写登录和退出就很麻烦,当然,你也可以把登录和退出封装为方法调用,但是每个用例中都写调用也很麻烦。有了fixtures就变得简便很多。
测试函数
创建test_fixtures.py文件
#coding=utf-8 import pytest# 功能函数 def multiply(a,b): return a * b # =====fixtures======== def setup_module(module): print ("\n") print ("setup_module================>") def teardown_module(module): print ("teardown_module=============>") def setup_function(function): print ("setup_function------>") def teardown_function(function): print ("teardown_function--->") # =====测试用例======== def test_numbers_3_4(): print 'test_numbers_3_4' assert multiply(3,4) == 12 def test_strings_a_3(): print 'test_strings_a_3' assert multiply('a',3) == 'aaa' if __name__ == '__main__': pytest.main("-s test_fixtures.py")
运行结果:
============================= test session starts ============================= platform win32 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 rootdir: D:\pyse\pytest, inifile: plugins: html collected 2 itemstest_fixtures.py setup_module================> setup_function------> test_numbers_3_4 .teardown_function---> setup_function------> test_strings_a_3 .teardown_function---> teardown_module=============> ========================== 2 passed in 0.01 seconds ===========================
通过执行结果,相信就很容易弄清楚它们的执行顺序。
setup_module/teardown_module 在所有测试用例执行之后和之后执行。
setup_function/teardown_function 在每个测试用例之后和之后执行。
测试类
#coding=utf-8 import pytest# 功能函数 def multiply(a,b): return a * b class TestUM: # =====fixtures======== def setup(self): print ("setup----->") def teardown(self): print ("teardown-->") def setup_class(cls): print ("\n") print ("setup_class=========>") def teardown_class(cls): print ("teardown_class=========>") def setup_method(self, method): print ("setup_method----->>") def teardown_method(self, method): print ("teardown_method-->>") # =====测试用例======== def test_numbers_5_6(self): print 'test_numbers_5_6' assert multiply(5,6) == 30 def test_strings_b_2(self): print 'test_strings_b_2' assert multiply('b',2) == 'bb' if __name__ == '__main__': pytest.main("-s test_fixtures.py")
运行结果:
============================= test session starts ============================= platform win32 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.2 rootdir: D:\pyse\pytest, inifile: plugins: html collected 2 itemstest_fixtures.py setup_class=========> setup_method----->> setup-----> test_numbers_5_6 .teardown--> teardown_method-->> setup_method----->> setup-----> test_strings_b_2 .teardown--> teardown_method-->> teardown_class=========> ========================== 2 passed in 0.00 seconds ===========================
setup_class/teardown_class 在当前测试类的开始与结束执行。
setup/treadown 在每个测试方法开始与结束执行。
setup_method/teardown_method 在每个测试方法开始与结束执行,与setup/treadown级别相同。
转载于:https://www.cnblogs.com/Raul2018/p/9760046.html
Python单元测试框架之pytest 3 -- fixtures相关推荐
- python单元测试框架之unittest和pytest的区别
前言 今天呢笔者想和大家来聊聊Python单元测试框架,我们都知道python单元测试框架有很多,大家平时经常使用的是unittest,因为它比较基础,并且可以进行二次开发,如果你的开发水平很高,集成 ...
- Python单元测试框架介绍
背景 为啥把单元测试框架介绍放到这里讲,其实主要是想讲pytest框架的应用.这也是应网友的心声.其实pytest框架我以前是用在实际项目中的,只是一直没有将实践过程和经验教训沉淀下来.如今,我想还是 ...
- Python单元测试框架Pyunit 的使用
Python单元测试框架Pyunit 使用示例: 1 import unittest 2 3 class Person: 4 def age(self): 5 return 34 6 def name ...
- 【整理】Python 单元测试框架 - PyUnit
1 概况 Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计JUn ...
- python单元测试断言_Python单元测试框架之pytest -- 断言-阿里云开发者社区
对于测试来讲,不管是功能测试,自动化测试,还是单元测试.一般都会预设一个正确的预期结果,而在测试执行的过程中会得到一个实际的结果.测试的成功与否就是拿实际的结果与预期的结果进行比较.这个比的过程实际就 ...
- Python单元测试框架《python 自动化框架 pytest》
Pytest 简介 pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高.根据pytest 的 ...
- Python测试框架之pytest详解
目录 前言 1.pytest安装 2.Pytest的setup和teardown函数 3.Pytest配置文件 4 Pytest常用插件 4.1 前置条件: 4.2 Pytest测试报告 5.pyte ...
- Python自动化测试框架之Pytest教程【让你小鸡变老鹰】
Pytest pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: · 简单灵活,容易上手 · 支持参数化 · 能够支持简单的单元测试和复杂的功能测试,还可以用来做sele ...
- Python单元测试框架之unittest+requests+ddt+excel接口自动化测试
unitetest是python里单元测试框架,是基于 java 的 junit 测试框架 相当于是一个 python 版的 junit,除了 unittest,还有一个 pytest 框架 unit ...
最新文章
- 本地YUM源配置并设置成本地同步网络源,摆脱依赖包
- java 分布式编译_linux分布式编译distcc和ccache的部署
- 黑客侵入电子签名供应商DocuSign的数据库 随后向用户发起钓鱼攻击
- SpiderData 2019年2月4日 DApp数据排行榜
- myeclipse 2017 CI 中如何修改Servlet模板
- Python中装入包pandas和matplotlib
- 厉害了!3分钟搞定开发部署,这个霸榜的AI开源项目大公司都在用
- apk html启动图,apk添加启动图(AddApkSplashTools)
- 编写C语言程序的7个步骤和编程机制
- Proteus8仿真STM32F103R6的电压轨道问题
- SCI论文重复率与降重
- 怎么用手机数据线连接电脑上网?
- golang mian函数和init函数
- 移植NES模拟器到STM32G431 详细移植教程 CubeMX HAL库
- 宠物商家必须给猫狗植入芯片,6月1日生效
- 双光耦开关电源电路图_光耦开关电源电路图大全(光电耦合器/可控精密稳压源)...
- ps证件照白底换蓝底_【插件】PS插件证件照V2.0一键裁剪排版磨皮换装换底色软件2020Mac/Win完整版...
- ClickHouse数据库和数据表
- 2021.05.29【NOIP提高B组】模拟 总结
- 彻底解决“Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA”警告
热门文章
- 【干货】史上最全的Tensorflow学习资源汇总
- CURL NDK 交叉编译
- 解密所有APP运行过程中的内部逻辑
- poj 1006 java_POJ 1006 Biorhythms 数论-(孙子定理)
- 小学计算机ppt课教案,小学信息技术公开课教案《让幻灯片变得更加漂亮》教学设计与反思...
- datatables ajax 数组,datatables ajax row undefined
- 电脑屏幕倒过来该怎么办?
- Fuzzy c-means (FCM)聚类算法
- 他人评审18篇SCI文章的一点感受
- 粗糙集理论介绍(概念入门)