是否可以编写一个doctest
单元测试来检查是否引发了异常?
例如,如果我有一个foo(x)
应该引发异常 if 的函数,x < 0
我将如何为此编写doctest
?
lorin
问问题
14590 次
3 回答
97
是的。你能行的。doctest 模块文档和维基百科有一个例子。
>>> x
Traceback (most recent call last):
...
NameError: name 'x' is not defined
于 2008-08-15T19:04:13.093 回答
9
>>> scope # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
NameError: name 'scope' is not defined
不知道为什么以前的答案没有IGNORE_EXCEPTION_DETAIL。我需要它才能工作。Py 版本:3.7.3。
于 2020-08-22T17:56:22.767 回答
5
>>> import math
>>> math.log(-2)
Traceback (most recent call last):
...
ValueError: math domain error
ellipsis flag # doctest: +ELLIPSIS is not required to use ... in Traceback doctest
于 2015-11-18T18:22:25.677 回答