次のようなドキュメントテストを書きたいと思います:
"""
>>> print a.string()
foo : a
bar : b
date : <I don't care about the date output>
baz : c
"""
これを実行する方法はありますか? unittest に切り替える方が理にかなっていると思いますが、doctest のテストに一致しない出力の範囲を指定できるかどうかが気になります。
ありがとう!
ベストアンサー1
を使用するとdoctest.ELLIPSIS
、...
「ここにある任意の文字列に一致する」という意味になります。doctestdoctest
ディレクティブでオプションを設定すると、1つのテストケースのみで有効になります。オンラインドキュメントは:
>>> print range(20) # doctest:+ELLIPSIS
[0, 1, ..., 18, 19]
doctest オプションを全体にわたってアクティブにしたい場合は、optionflags=
使用する doctest 関数に引数として渡すことができます (例: ) doctest.testfile
。(演算子を使用してビット OR 演算を行うことで、複数のオプション フラグを渡すことができます|
)。