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两种遍历字典(dict)的方法比较
May 29 Python
python处理文本文件并生成指定格式的文件
Jul 31 Python
python元组操作实例解析
Sep 23 Python
Python 列表理解及使用方法
Oct 27 Python
Django入门使用示例
Dec 12 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 Python
使用python创建生成动态链接库dll的方法
May 09 Python
Python select及selectors模块概念用法详解
Jun 22 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
Python爬虫基础之简单说一下scrapy的框架结构
Jun 26 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
我的论坛源代码(二)
2006/10/09 PHP
PHP分页显示制作详细讲解
2006/12/05 PHP
php 远程关机操作的代码
2008/12/05 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
javascript动画浅析
2012/08/30 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
js实现多图左右切换功能
2016/08/04 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
Python实现备份文件实例
2014/09/16 Python
Python解决鸡兔同笼问题的方法
2014/12/20 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python实现端口检测的方法
2018/07/24 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
浅谈django channels 路由误导
2020/05/28 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
水污染治理工程专业求职信
2014/06/14 职场文书
车贷收入证明范本
2014/09/14 职场文书
公诉意见书范文
2015/06/05 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
python使用BeautifulSoup 解析HTML
2022/04/24 Python