python doctest可以忽略一些输出行吗?
我想写一个像这样的doctest:
"""
>>> print a.string()
foo : a
bar : b
date : <I don't care about the date output>
baz : c
"""
有什么办法吗?我认为切换到单元测试会更有意义,但我很好奇是否可以指定不适合doctest中的测试的输出范围。
谢谢!
-
使用
doctest.ELLIPSIS
,您可以...
用来表示“在此处匹配任何字符串”。您可以doctest
使用doctest指令设置选项,以使其仅在一个测试用例中处于活动状态:在线文档中的一个示例是:>>> print range(20) # doctest:+ELLIPSIS [0, 1, ..., 18, 19]
如果您希望doctest选项始终处于活动状态,则可以将其作为
optionflags=
参数传递给您使用的任何doctest函数,例如doctest.testfile
。(您可以使用|
运算符对这些选项标志进行位或它们传递)。