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相关推荐

  1. python单元测试框架之unittest和pytest的区别

    前言 今天呢笔者想和大家来聊聊Python单元测试框架,我们都知道python单元测试框架有很多,大家平时经常使用的是unittest,因为它比较基础,并且可以进行二次开发,如果你的开发水平很高,集成 ...

  2. Python单元测试框架介绍

    背景 为啥把单元测试框架介绍放到这里讲,其实主要是想讲pytest框架的应用.这也是应网友的心声.其实pytest框架我以前是用在实际项目中的,只是一直没有将实践过程和经验教训沉淀下来.如今,我想还是 ...

  3. Python单元测试框架Pyunit 的使用

    Python单元测试框架Pyunit 使用示例: 1 import unittest 2 3 class Person: 4 def age(self): 5 return 34 6 def name ...

  4. 【整理】Python 单元测试框架 - PyUnit

    1 概况 Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计JUn ...

  5. python单元测试断言_Python单元测试框架之pytest -- 断言-阿里云开发者社区

    对于测试来讲,不管是功能测试,自动化测试,还是单元测试.一般都会预设一个正确的预期结果,而在测试执行的过程中会得到一个实际的结果.测试的成功与否就是拿实际的结果与预期的结果进行比较.这个比的过程实际就 ...

  6. Python单元测试框架《python 自动化框架 pytest》

    Pytest 简介 pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高.根据pytest 的 ...

  7. Python测试框架之pytest详解

    目录 前言 1.pytest安装 2.Pytest的setup和teardown函数 3.Pytest配置文件 4 Pytest常用插件 4.1 前置条件: 4.2 Pytest测试报告 5.pyte ...

  8. Python自动化测试框架之Pytest教程【让你小鸡变老鹰】

    Pytest  pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: · 简单灵活,容易上手 · 支持参数化 · 能够支持简单的单元测试和复杂的功能测试,还可以用来做sele ...

  9. Python单元测试框架之unittest+requests+ddt+excel接口自动化测试

    unitetest是python里单元测试框架,是基于 java 的 junit 测试框架 相当于是一个 python 版的 junit,除了 unittest,还有一个 pytest 框架 unit ...

最新文章

  1. 【Vue】IView之table组件化学习(二)
  2. 撕裂者cpu三代文件服务器,AMD三代线程撕裂者CPU开盖:钎焊散热、64核若隐若现...
  3. 字符设备驱动程序框架
  4. php返回图片给安卓_android上传图片到PHP的过程详解
  5. 访问CrmService遇到HTTP status 401 Unauthorized的问题
  6. C/C++知识分享番外:如何申请一个腾讯地图用户Key?
  7. WIN8 下IE突然无法打开(管理员权限可打开)
  8. 可行性研究与效益分析
  9. Python3之正则表达式详解!
  10. 0033【MySQL】Mysql备份导入异常:@@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty
  11. 使用app管理家庭路由器(TP-Link,水星,腾达等)
  12. 解决无法将主机文件拖动复制到VMware虚拟机中的问题
  13. 解决undefined reference to symbol ‘LZ4_decompress_safe‘问题
  14. SSM框架学习(一)————SSM框架简介
  15. 王者荣耀 让好友看到的括号中不显示默认备注
  16. 微信小程序的地址相关
  17. 公务员行测可以用计算机吗,公务员考试可以带计算器吗
  18. 学计算机的该怎么自学,如何通过自学快速的学会电脑操作?电脑小白必备学习技巧...
  19. android博客导航总结,以及个人常用android免费学习干货(文章,视频,矢量图,字体等)资源分享?
  20. 协议安全分析方法的综述

热门文章

  1. Java数据库查询简介
  2. 【译】ICO 2.0 — The Advent of What Crypto-Fund Raising Should Really Look Like
  3. WatchDog工作原理
  4. 基于STM32系列芯片的 IAP实现的探索
  5. html表单页脚,HTML 表格
  6. kdj值应用口诀_KDJ买卖绝学!记住这些操作 精准判断quot;顶部和底部quot; 让你远离亏损...
  7. python的数字比较好_说说 Python3 中的数字处理
  8. 产品开发管理方法工具流程 pdf_pdf转化为word的方法有什么?实用工具就有这两个...
  9. uvalive5989(水题)
  10. mvc和php的关系,php - 什么是HMVC模式?