Python测试模块doctest

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

 

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

 

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

 

doctest模块提供了一个工具,扫描模块并根据程序中内嵌的文档字符串执行测试;函数

 

测试构造如同简单的将它的输出结果剪切并粘贴到文档字符串中;工具

 

经过用户提供的例子,它强化了文档,容许 doctest 模块确认代码的结果是否与文档一致;测试

 1 def average(values):
 2     """Computes the arithmetic mean of a list of numbers.
 3 
 4     >>> print(average([20, 30, 70]))
 5     40.0
 6     """
 7     return sum(values) / len(values)
 8 
 9 import doctest
10 doctest.testmod(verbose=True)   # doctest.testmod是测试模块,verbose默认是False,意思是出错才用提示;True,对错都有执行结果

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

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

 

输出结果

 1 Trying:
 2     print(average([20, 30, 70]))
 3 Expecting:
 4     40.0
 5 ok
 6 Trying:
 7     print(average([90, 40, 20]))
 8 Expecting:
 9     50.0
10 ok
11 1 items had no tests:
12     __main__
13 1 items passed all tests:
14    2 tests in __main__.average
15 2 tests in 2 items.
16 2 passed and 0 failed.
17 Test passed.
18 [Finished in 0.5s]

能够看到16行,两个测试都经过了blog

相关文章
相关标签/搜索