22

Python (3.3.2) doctest では、省略記号 ( ...) は任意の文字列に一致します。したがって、以下のコードについては

def foo():
    """
    >>> foo()
    hello ...
    """
    print("hello world")

doctest を実行してもエラーは発生しません。しかし

$ python -m doctest foo.py 
**********************************************************************
File "./foo.py", line 3, in foo.foo
Failed example:
    foo()
Expected:
    hello ...
Got:
    hello world
**********************************************************************
1 items had failures:
   1 of   1 in foo.foo
***Test Failed*** 1 failures.

省略記号を有効にするにはどうすればよいですか? 私が知る限り、デフォルトでは無効になっています。

# doctest: +ELLIPSIS以下のコードのようにadd で解決できることはわかっていますが、すべてのテストで省略記号を有効にしたいと考えています。

def foo():
    """
    >>> foo() # doctest: +ELLIPSIS
    hello ...
    """
    print("hello world")
4

3 に答える 3