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中内置数据类型list,tuple,dict,set的区别和用法
Dec 14 Python
Python读取word文本操作详解
Jan 22 Python
python爬取淘宝商品详情页数据
Feb 23 Python
Python实现时钟显示效果思路详解
Apr 11 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 Python
Python3 pandas 操作列表实例详解
Sep 23 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
Python调用飞书发送消息的示例
Nov 10 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数组的概述及分类与声明代码演示
2013/02/26 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
js中eval详解
2012/03/30 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
React Native react-navigation 导航使用详解
2017/12/01 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
对python使用http、https代理的实例讲解
2018/05/07 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
Python实现代码统计工具
2019/09/19 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
上班早退检讨书
2014/01/09 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
省文明单位申报材料
2014/05/08 职场文书
三方合作意向书范本
2015/05/09 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
利用python进行数据加载
2021/06/20 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android