Python测试模块doctest使用解析


Posted in Python onAugust 10, 2019

面试被问到了却没有用过,很尴尬;今天看了一下,真的是一个很简单的测试模块

方便起见,这里直接拿菜鸟教程的介绍和例子过来

开发高质量软件的方法之一是为每一个函数开发测试代码,并且在开发过程中经常进行测试;

doctest模块提供了一个工具,扫描模块并根据程序中内嵌的文档字符串执行测试;

测试构造如同简单的将它的输出结果剪切并粘贴到文档字符串中;

通过用户提供的例子,它强化了文档,允许 doctest 模块确认代码的结果是否与文档一致;

def average(values):
  """Computes the arithmetic mean of a list of numbers.

  >>> print(average([20, 30, 70]))
  40.0
  """
  return sum(values) / len(values)

import doctest
doctest.testmod(verbose=True)  # doctest.testmod是测试模块,verbose默认是False,意思是出错才用提示;True,对错都有执行结果

注意格式,上边代码的第三行需要是一个空行

注:Python中的除法总是返回一个浮点数

输出结果

Trying:
  print(average([20, 30, 70]))
Expecting:
  40.0
ok
Trying:
  print(average([90, 40, 20]))
Expecting:
  50.0
ok
1 items had no tests:
  __main__
1 items passed all tests:
  2 tests in __main__.average
2 tests in 2 items.
2 passed and 0 failed.
Test passed.
[Finished in 0.5s]

可以看到16行,两个测试都通过了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python正则表达式介绍
Aug 06 Python
Python实现端口复用实例代码
Jul 03 Python
python虚拟环境virualenv的安装与使用
Dec 18 Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
python3大文件解压和基本操作
Dec 15 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
django admin后台添加导出excel功能示例代码
May 15 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 Python
python 装饰器的使用示例
Oct 10 Python
python regex库实例用法总结
Jan 03 Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 #Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 #Python
python实现邮件发送功能
Aug 10 #Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 #Python
python selenium登录豆瓣网过程解析
Aug 10 #Python
python matplotlib库绘制散点图例题解析
Aug 10 #Python
python matplotlib库绘制条形图练习题
Aug 10 #Python
You might like
php curl post 时出现的问题解决
2014/01/30 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
php实现简易计算器
2020/08/28 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
简单实现JS上传图片预览功能
2017/04/14 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
python ip正则式
2009/05/07 Python
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
Python----数据预处理代码实例
2019/03/20 Python
python中的&&及||的实现示例
2019/08/07 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
制定岗位职责的原则
2013/11/08 职场文书
2014年测量员工作总结
2014/12/12 职场文书
高考学习决心书
2015/02/04 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python