:あなたが行全体を無視する場合
、あなたのような何かをする必要がありますはい、という事実」...また、出力全体を無視するような継続性のように見えます。例を完全にスキップするだけの場合は "#doctest:+ SKIP"を使用できますが、その副作用に頼っている場合は機能しません。あなた本当には、これを行う必要がある場合は、私は特にそれをお勧めしませんが、私は、あなたがdoctestのモジュール自体を猿パッチができたとします
>>> import doctest
>>> doctest.ELLIPSIS_MARKER = '-etc-'
>>> print 12 # doctest: +ELLIPSIS
-etc-
(。このテストは合格)
それとも、一時stdoutおよび/またはstderrを抑制することができ:
>>> # Suppress stdout
>>> import sys
>>> class DevNull:
... def noop(*args, **kwargs): pass
... close = write = flush = writelines = noop
>>> sys.stdout = DevNull()
>>> # Run a test and ignore output (but we need its side effects)
>>> print 12 # NOTE: stdout is suppressed!
>>> # Restore stdout
>>> sys.stdout = sys.__stdout__
(この試験も通過する。)
しかし、どのように行全体を無視できますか? –
@ t0ster、 ''期待された出力 "(' doctest.ELLIPSIS'が設定されている)の全体として '...'を置くだけです。doctestはその出力行の内容を受け入れます。出力の "全体の行を無視する"。 –
doctestは省略記号を前の行の(Python)継続と混同しているため、上記のように「行全体を無視する」は機能しません。私は全体の行を無視する方法を見つけることができませんでした。実際には、私は "全体の出力を無視する"を探していた。 –