首页 > 编程 > Python > 正文

Python测试模块doctest使用解析

2019-11-25 12:02:06
字体:
来源:转载
供稿:网友

面试被问到了却没有用过,很尴尬;今天看了一下,真的是一个很简单的测试模块

方便起见,这里直接拿菜鸟教程的介绍和例子过来

开发高质量软件的方法之一是为每一个函数开发测试代码,并且在开发过程中经常进行测试;

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 doctestdoctest.testmod(verbose=True)  # doctest.testmod是测试模块,verbose默认是False,意思是出错才用提示;True,对错都有执行结果

注意格式,上边代码的第三行需要是一个空行

注:Python中的除法总是返回一个浮点数

输出结果

Trying:  print(average([20, 30, 70]))Expecting:  40.0okTrying:  print(average([90, 40, 20]))Expecting:  50.0ok1 items had no tests:  __main__1 items passed all tests:  2 tests in __main__.average2 tests in 2 items.2 passed and 0 failed.Test passed.[Finished in 0.5s]

可以看到16行,两个测试都通过了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表