Python单元测试与测试用例简析


Posted in Python onNovember 09, 2019

本文实例讲述了Python单元测试与测试用例。分享给大家供大家参考,具体如下:

单元测试与测试用例

简介

测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求

要为函数编写测试用例,可先导入模块 unittest 以及要测试的函数,再创建一个继承unittest.TestCase 的类,并编写一系列方法对函数行为的不同方面进行测试

创建实例(对比接收到的名和姓是否符合要求)

1.先创建个name_function.py的文件(文件名称可以另取),接收名和姓并返回整洁的全名

def get_formatted_name(first,last,middle=''):
  '''生成整洁的姓名'''
  if middle:
    full_name=first+' '+middle+' '+last
  else:
    full_name=first+' '+last
  return full_name.title()

2.再创建个test_name_function.py的文件,检查name_function.py()在给定名和姓时能否正确地工作

import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
  """测试name_function.py"""
  def test_first_last_name(self):
    """能够正确处理姓名么?"""
    formatted_name = get_formatted_name('liu','wei' )
    self.assertEquals(formatted_name, 'Liu Wei')
unittest.main()

上述代码思路:

  1. 导入模块 unittest 和要测试的函数 get_formatted_name()
  2. 创建一个名为 NamesTestCase 的类(类的命名可任取,但最好让它看起来与要测试的函数相关,并包含字样Test),用于包含一系列针对get_formatted_name()的单元测试。这个类必须继承unittest.TestCase,这样Python才知道如何运行你编写的测试
  3. NamesTestCase只包含一个方法,我将这个方法命名为test_first_last_name(),我们运行test_name_function.py 时,所有以test_打头的方法都将自动运行。在这个示例中,使用了实参‘liu'和‘wei'调用get_formatted_name(),并将结果存储到变量 formatted_name
  4. assertEquals()unittest类最有用的功能之一:一个断言方法。断言方法用来核实得到的结果与期望的结果一致。self.assertEquals(formatted_name, 'Liu Wei') 的意思是:将formatted_name 的值同字符串 'Liu Wei'进行比较
  5. 代码行unittest.main()让Python运行这个文件中的测试。

运行结果如下:

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

第1句的句点表明有一个测试通过。接下来的一行指出Python运行了一个测试,消耗的时间不到0.001秒。最后的OK表明该测试用例中的所有单元测试都通过了。

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python 查看文件的编码格式方法
Dec 21 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
django如何实现视图重定向
Jul 24 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
Python中zip()函数的简单用法举例
Sep 02 Python
Python 限定函数参数的类型及默认值方式
Dec 24 Python
Python常用模块sys,os,time,random功能与用法实例分析
Jan 07 Python
Pytorch中.new()的作用详解
Feb 18 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
pandas中DataFrame检测重复值的实现
May 26 Python
Python数组变形的几种实现方法
May 30 Python
python自动化测试之异常及日志操作实例分析
Nov 09 #Python
Python多线程模块Threading用法示例小结
Nov 09 #Python
Python for循环及基础用法详解
Nov 08 #Python
python常用排序算法的实现代码
Nov 08 #Python
python分布式编程实现过程解析
Nov 08 #Python
详解mac python+selenium+Chrome 简单案例
Nov 08 #Python
python manage.py runserver流程解析
Nov 08 #Python
You might like
php生成圆角图片的方法
2015/04/07 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python 使用shutil复制图片的例子
2019/12/13 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
为什么相对PHP黑python的更少
2020/06/21 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
基于opencv实现简单画板功能
2020/08/02 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
师范大学应届生求职信
2013/11/21 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
公司离职证明标准样本
2014/10/05 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL
Python中的socket网络模块介绍
2022/07/23 Python