Python中的测试用例使用Doctest
Doctest
是Python编程语言标准库中的一个模块,它允许基于标准Python解释器shell的输出轻松生成测试,剪切并粘贴到文档字符串中。
divide.py
def divide(a, b):
"""
>>> divide(8, 4)
2
>>> divide(-12, 3)
-4
>>> divide(4, 0)
"Denominator can't be zero"
"""
try:
result = a//b
except ZeroDivisionError:
result = "Denominator can't be zero"
return result
每个 '>>>' 线运行仿佛蟒蛇外壳,并且被视为一个测试:
,你可以写你的代码。 下一行,如果不是'>>>'是上一行的预期输出。 如果有任何内容不完全匹配(包括尾随空格),则测试失败。
运行文档测试
您运行的doctest像这样(写于终端的命令):
$ python3 -m doctest -v doctest_trial.py
,或者干脆
$ python3 -m doctest doctest_trial.py
https://i.stack.imgur.com/IuVBF.jpg这是我的代码。我希望这是正确的实施,因为它运行良好。唯一的问题是我已经在函数之外写了测试用例。 –
好的,应该在函数中写入'tests'。 另外,答案是另一种使用'doctest'的方法。我通常更喜欢这种方式。我们可以在运行脚本时在shell中使用它,而不是在代码中导入。 –
请分享问题代码。 –
问题中需要的三件事1)分割两个数字的代码2)Python中的异常处理3)为上述代码编写单元测试用例 –
可以使用unittest,pytest,doctest模块编写单元测试用例。 –