2016-11-25 34 views
1

私は以下のようなdocstringを持つ関数を持っており、docstringが正しいことをテストしたいと思います。私は現在doctestモジュールを使っています。しかし、私はそれがクラッシュせずにdocstringの新しい行の文字や改行を表す方法を見つけることができません。ここでは、問題を複製例です。Python Doctestの特殊文字と改行

def foo(): 
    r""" 
    >>> foo() == ['1\n2\n',\ 
    '3'] 
    True 
    """ 
    return ['1\n2\n', '3'] 

import doctest 
doctest.testmod() 

これはエラーになります:

Failed example: 
foo() == ['1\n2\n',\ 
Exception raised: 
    Traceback (most recent call last): 
     File "C:\Python34\lib\doctest.py", line 1318, in __run 
     compileflags, 1), test.globs) 
     File "<doctest __main__.foo[0]>", line 1 
     foo() == ['1\n2\n',\ 
         ^
    SyntaxError: unexpected EOF while parsing 

私はこれを実現するだろうか?

答えて

0

使用省略記号...

def foo(): 
    r""" 
    >>> foo() == ['1\n2\n', 
    ... '3'] 
    True 
    """ 
    return ['1\n2\n', '3'] 

import doctest 
doctest.testmod() 

source