Python doctest はクールです。簡単な例から始めましょう。
def foo():
"""
>>> foo()
hello world
"""
print "hello world"
ここで、時間値または乱数などの理由で、一部が多少変化していると仮定しましょう。通常、doctest では +ELLIPSIS オプションを使用してワイルドカードを指定できます。
たとえば、「world」が可変文字列の場合、これはうまく機能します。
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
hello ...
"""
print "hello world"
ただし、私の場合、変数文字列は行の先頭にあります。
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
... world
"""
print "hello world"
先頭の 3 つのドットは、出力の省略記号としてではなく、行継続文字として解釈されるため、これは悪いことです。したがって、このテストは失敗します。
Failed example:
foo() # doctest: +ELLIPSIS
world
Expected nothing
Got:
hello world
それで、変数部分を別の場所に持つようにできるように書き換えることができましたが、行頭の 3 つのドットが省略記号であることを doctest に教える方法はありますか?