You should use the ELLIPSIS
flag:
>>> 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)
The ...
can be used only in exception tracebacks without the ELLIPSIS
option.
If you don't want to use the directives in the docstrings you can pass the optionflags
parameter to the doctest
functions:
>>> 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)