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

发布时间:2019-11-20 22:03

来源:互联网

当前栏目:web技术类

本文实例讲述了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()

上述代码思路:

导入模块 unittest 和要测试的函数 get_formatted_name()

创建一个名为 NamesTestCase 的类(类的命名可任取,但最好让它看起来与要测试的函数相关,并包含字样Test),用于包含一系列针对get_formatted_name()的单元测试。这个类必须继承unittest.TestCase,这样Python才知道如何运行你编写的测试

NamesTestCase只包含一个方法,我将这个方法命名为test_first_last_name(),我们运行test_name_function.py 时,所有以test_打头的方法都将自动运行。在这个示例中,使用了实参‘liu'和‘wei'调用get_formatted_name(),并将结果存储到变量 formatted_name中

assertEquals()是unittest类最有用的功能之一:一个断言方法。断言方法用来核实得到的结果与期望的结果一致。self.assertEquals(formatted_name, 'Liu Wei') 的意思是:将formatted_name 的值同字符串 'Liu Wei'进行比较

代码行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单元测试与测试用例简析相关推荐

  1. python代码设计测试用例_Python单元测试与测试用例简析

    Python单元测试与测试用例简析 发布时间:2019-11-20 22:03 来源:互联网 当前栏目:web技术类 本文实例讲述了Python单元测试与测试用例.分享给大家供大家参考,具体如下: 单 ...

  2. Python中的基本函数及其常用用法简析

    分享Python中的基本函数及其常用用法简析,首先关于函数的解释函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一功能或者功能片段的代码块,简单来说就是由一系列的程序语句组成的程 ...

  3. python unitest框架_python单元测试框架Unitest

    一.unitest简介 unittest是python内置的单元测试框架,具备编写用例.组织用例.执行用例.输出报告等自动化框架的条件. 使用unittest前需要了解该框架的五个概念: test c ...

  4. Python源码学习:内建类型简析并简析int对象

    Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 上一篇文章中已经大致分析了下,Python的启动执行流程,现在我们分析一下Pytho ...

  5. Python中匿名函数及递归思想简析(小本本记下来)

    前言: 上次咱们基本说了一下函数的定义及简单使用,想要了解的伙伴可以去看看.Python中最基本的函数及其常用用法简析(新手必备)小本本记起来 现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要 ...

  6. python写软件测试用例_Python单元测试框架unittest:单个测试用例编写步骤及实例...

    一.Python单元测试框架的编写步骤 导入模块 必须继承unittest.TestCase 主要是配置环境:进行测试前的初始化工作,比如在接口测试前面做一些前置的参数赋值,数据库操作等等 定义测试用 ...

  7. python网络编程案例_python网络编程实例简析

    本文实例讲述了python网络编程,分享给大家供大家参考. 具体方法如下: 服务端代码如下: from SocketServer import(TCPServer as TCP, StreamRequ ...

  8. 学python前端需要哪些基础知识_简析前端学习python3的基础

    以下是整理的JavaScript和python的基础区别的整理: 字符串.列表.元组.字典.集合.函数 字符串 声明一个字符串 python str = '123' str = "123&q ...

  9. python匿名函数的作用_Python中的匿名函数及递归思想简析

    匿名函数 前言 上次咱们基本说了一下函数的定义及简单使用,Python中的基本函数及其常用用法简析,现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要不,但是对于函数的执行顺序以及装饰器的理解还 ...

  10. 匿名函数自我调用_Python中的匿名函数及递归思想简析

    匿名函数 前言 上次咱们基本说了一下函数的定义及简单使用,Python中的基本函数及其常用用法简析,现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要不,但是对于函数的执行顺序以及装饰器的理解还 ...

最新文章

  1. 中科院陆汝钤获吴文俊人工智能最高成就奖,百度王海峰获吴文俊人工智能杰出贡献奖...
  2. java script 技巧
  3. 基于概率论的分类方法—朴素贝叶斯
  4. 四 s5p4418 Android 对can总线的支持 支持波特率修改
  5. 永磁直驱风力发电机结构图_国内首台10MW海上永磁直驱风力发电机研制成功
  6. Spring Boot----整合SpringCloud
  7. KINGBASE人大金仓数据库安装配置手册
  8. SecureCRT SSH 失败 Key exchange failed 解决方法
  9. linux 开机自动运行命令_Linux内核分析-启动顺序、运行级别及开机启动(七)
  10. 在mysql中 创建视图需要使用_语句_在MySQL中创建视图的X种方式
  11. 学术论文答辩通用PPT模板
  12. BCH硬分叉已经成功完成,现在是入手的好时机吗?
  13. wordpress企业主题门户类企业类多用途主题
  14. ios应用中调用系统电话、浏览器、地图、邮件等 以及打开其他应用(如qq,msn)
  15. hadoop+Spark+hbase集群动态增加节点
  16. 【硬件篇】显卡五连问
  17. ab测试工具 linux,超实用压力测试工具-ab工具
  18. 彻底告别等待越狱!不越狱安装下载的IPA,iPhone 4S iOS5已测!!希望大家支持!
  19. ConcurrentHashMap的实现原理
  20. 《权威指南》笔记 - 8.8函数式编程

热门文章

  1. Login.jsp登录页面代码(css+bootstrap)
  2. 解决从PDF复制出来的文字总是换行的小技巧
  3. mac下安装win7虚拟机
  4. 小米平板2刷Linux教程,小米平板2刷机教程 官方线刷图文教程
  5. linux桌面环境组件下载,万能桌面小组件
  6. 人工势场法matlab讲解,传统人工势场法(matlab)
  7. eclipse 语言包下载 中文汉化
  8. 一维均值滤波算法matlab,用MATLAB编程实现均值滤波算法?
  9. ps 将图片背景色改为透明
  10. 开关电流双线性映射无损积分器的电路结构和z变换函数