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编码时应该注意的几个情况
Mar 04 Python
使用Python对Access读写操作
Mar 30 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
详解python 注释、变量、类型
Aug 10 Python
python 使用值来排序一个字典的方法
Nov 16 Python
Python正则表达式实现简易计算器功能示例
May 07 Python
python实现倒计时小工具
Jul 29 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
python新式类和经典类的区别实例分析
Mar 23 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
Python的logging模块基本用法
Dec 24 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
asm.js使用示例代码
2013/11/28 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
React组件的三种写法总结
2017/01/12 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
python删除文件示例分享
2014/01/28 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
python程序需要编译吗
2020/06/19 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
博士生入学考试推荐信
2013/11/17 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
总经理岗位职责
2015/02/04 职场文书
幼师中班个人总结
2015/02/12 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android