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的视图中使用form对象的方法
Jul 18 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
Python开发的实用计算器完整实例
May 10 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
python+pandas生成指定日期和重采样的方法
Apr 11 Python
PyCharm代码格式调整方法
May 23 Python
python使用turtle绘制分形树
Jun 22 Python
python性能测量工具cProfile使用解析
Sep 26 Python
python实现飞机大战小游戏
Nov 08 Python
Python读取表格类型文件代码实例
Feb 17 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 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
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
学习ExtJS border布局
2009/10/08 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
jquery+css实现下拉列表功能
2017/09/03 jQuery
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
python实现socket端口重定向示例
2014/02/10 Python
python写的一个squid访问日志分析的小程序
2014/09/17 Python
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
python编程开发之日期操作实例分析
2015/11/13 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python实现根据文件格式分类
2019/10/31 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
继承公证书
2014/04/09 职场文书
2014年科协工作总结
2014/12/09 职场文书
社区活动总结
2015/02/04 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript
原生JS实现分页
2022/04/19 Javascript
element tree树形组件回显数据问题解决
2022/08/14 Javascript