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 socket编程实例详解
May 27 Python
Python文件读取的3种方法及路径转义
Jun 21 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 Python
django项目用higcharts统计最近七天文章点击量
Aug 17 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
Python yield生成器和return对比代码实例
Apr 20 Python
python 经纬度求两点距离、三点面积操作
Jun 03 Python
Python tensorflow卷积神经Inception V3网络结构
May 06 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
javascript下数值型比较难点说明
2010/06/07 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
Python实现文件按照日期命名的方法
2015/07/09 Python
Python实现的字典值比较功能示例
2018/01/08 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
python3.7调试的实例方法
2020/07/21 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
中医专业应届生求职信
2013/11/17 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
《学会待客》教学反思
2014/02/22 职场文书
化工实习心得体会
2014/09/09 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript