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 相关文章推荐
解读Django框架中的低层次缓存API
Jul 24 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
django开发之settings.py中变量的全局引用详解
Mar 29 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
Python散点图与折线图绘制过程解析
Nov 30 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 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
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
python之wxPython应用实例
2014/09/28 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python中关于浮点数的冷知识
2019/09/22 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
今冬明春火灾防控工作方案
2014/05/29 职场文书
小学优秀教师材料
2014/12/15 职场文书
单独二胎证明
2015/06/24 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript