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 制作图片转pdf工具
Jan 30 Python
python操作sqlite的CRUD实例分析
May 08 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
Python切片操作实例分析
Mar 16 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
python+requests接口自动化框架的实现
Aug 31 Python
如何使用Pytorch搭建模型
Oct 26 Python
Python实现列表索引批量删除的5种方法
Nov 16 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常用Output和ptions/Info函数集介绍
2013/06/19 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
Python文件读写常见用法总结
2019/02/22 Python
opencv与numpy的图像基本操作
2019/03/08 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
个人求职简历的自我评价
2013/10/19 职场文书
会计专业个人求职信范文
2014/01/08 职场文书
社区党务公开实施方案
2014/03/18 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
精神病医院见习报告
2014/11/03 职场文书
银行招聘自荐信
2015/03/06 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python
Vue+Flask实现图片传输功能
2022/04/01 Vue.js