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网络爬虫出现乱码问题的解决方法
Jan 05 Python
Python随机生成均匀分布在单位圆内的点代码示例
Nov 13 Python
在python中安装basemap的教程
Sep 20 Python
python用plt画图时,cmp设置方法
Dec 13 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
python如何将多个PDF进行合并
Aug 13 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
利用PyQt中的QThread类实现多线程
Feb 18 Python
动态设置django的model field的默认值操作步骤
Mar 30 Python
Django实现后台上传并显示图片功能
May 29 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
PHP微信分享开发详解
2017/01/14 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python中异常重试的解决方案详解
2017/05/05 Python
python八大排序算法速度实例对比
2017/12/06 Python
python flask框架实现重定向功能示例
2019/07/02 Python
基于python使用tibco ems代码实例
2019/12/20 Python
PyQt5实现登录页面
2020/05/30 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
高中学生会竞选演讲稿
2014/08/25 职场文书
药店采购员岗位职责
2014/09/30 职场文书
廉政承诺书2015
2015/04/28 职场文书