您应该使用该ELLIPSIS
标志:
>>> def checking():
... """
... >>> checking() #doctest: +ELLIPSIS
... header
... ...
... test is passed
... ...
... footer
... """
... print("header\nrandom\nlines\ntest is passed\nother\nrandom lines\nfooter")
>>> doctest.testmod(verbose=True)
Trying:
checking() #doctest: +ELLIPSIS
Expecting:
header
...
test is passed
...
footer
ok
1 items had no tests:
__main__
1 items passed all tests:
1 tests in __main__.checking
1 tests in 2 items.
1 passed and 0 failed.
Test passed.
TestResults(failed=0, attempted=1)
...
只能在没有该选项的异常回溯中使用ELLIPSIS
。
如果您不想在文档字符串中使用指令,您可以将optionflags
参数传递给doctest
函数:
>>> checking.__doc__ = ''.join(checking.__doc__.split('#doctest: +ELLIPSIS'))
>>> print checking.__doc__
>>> checking()
header
...
test is passed
...
footer
>>> doctest.testmod(optionflags=doctest.ELLIPSIS)
TestResults(failed=0, attempted=2)