2016-11-25 31 views
1

我有一個類似於以下內容的文檔字符串的函數,我想測試該文檔字符串是否正確。我目前使用doctest模塊來做到這一點。但是,我找不到一種方法來表示文檔字符串中的新行字符和換行符,而不會崩潰。下面是複製問題的例子: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