开发高质量软件的过程中,我们经常会为每个函数编写测试,这样在开发过程中运行这些测试的时候就比较方便,doctest是一个python标准库自带的轻量单元测试工具,适合实现一些简单的单元测试。
doctest模块提供的这样的工具,用于扫描模块并验证程序文档字符串中嵌入的测试,在docstring中寻找到测试用例并执行,比较输出结果与期望值是否符合。
我们如何构造这些测试呢?很简单
- 在python的交互解释器中创建测试用例,在解释器中测试的用例,复制粘贴到docstring中。
注:要完全的复制,不要自己在docstring中写用例, 那样容易出错,比如解释器中>>>提示符后的一个空格,如果自己直接写测试用例时缺少这个空格,就会报错!
tip:doctest在docstring中寻找测试用例的时候,认为>>>是一个测试用例的开始,直到遇到空行或者下一个>>>,在两个测试用例之间有其他内容的话,会被doctest忽略(可以利用这个特性为测试用例编写一些注释)。
我先在我自己的项目下准备一个测试脚本quality_q.py:
def average(values):