Python 文档测试很酷。让我从一个简单的例子开始:
def foo():
"""
>>> foo()
hello world
"""
print "hello world"
现在让我们假设某些部分有些变化,例如,因为它是时间值或随机数。通常,文档测试允许我使用 +ELLIPSIS 选项指定通配符。
例如,当“world”是一个变化的字符串时,这很好用:
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
hello ...
"""
print "hello world"
然而,就我而言,变量字符串位于行首:
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
... world
"""
print "hello world"
这很糟糕,因为开头的 3 个点被解释为行继续字符,而不是输出的省略号。因此,此测试失败:
Failed example:
foo() # doctest: +ELLIPSIS
world
Expected nothing
Got:
hello world
所以,我现在可以重写我的可能,将可变部分放在其他地方,但是有没有办法教 doctest 一行开头的 3 个点是省略号?