octest
是 Python 标准库中的一个模块,用于测试文档字符串(docstring)中的示例代码。通过这种方式,开发者可以在文档中直接编写测试用例,确保代码示例的正确性。
用法示例
def add(a, b):
"""
返回两个数的和。
示例:
>>> add(2, 3)
4
>>> add(-1, 1)
0
"""
return a + b
if __name__ == '__main__':
import doctest
doctest.testmod(verbose=True)
运行方式
方法一:main方法执行
如示例中方法,直接在文件中执行
if __name__ == '__main__':
import doctest
doctest.testmod(verbose=True)
方法二:命令行执行
在终端命令行中使用如下代码执行
python3 -m doctest -v testing.py
方法三:独立文件中进行测试
如下所示,将测试用例写在单独的文件中。
执行结果:
注意事项
- 文档字符串格式:示例代码必须以
>>>
开头,后面紧跟要执行的代码。预期输出必须紧跟在代码之后,且不包含>>>
。 - 空白字符:
doctest
对空白字符(如空格、制表符)非常敏感,确保示例代码和预期输出中的空白字符一致。 - 异常处理:如果示例代码会引发异常,可以在预期输出中包含异常信息,例如:
def divide(a, b):
"""
返回两个数的商。
示例:
>>> divide(4, 2)
2.0
>>> divide(4, 0)
Traceback (most recent call last):
...
ZeroDivisionError: division by zero
"""
return a / b
通过 doctest
,开发者可以确保文档中的示例代码始终与实际代码行为一致,提高代码的可维护性和可靠性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END