Doctest NORMALIZE_WHITESPACE不起作用

时间:2013-07-14 14:47:01

标签: python doctest

Failed example:
    p.parse_name('Adams, Michael') 
    # doctest: +NORMALIZE_WHITESPACE
Expected:
    {'first_name': 'Michael', 'last_name': 'Adams','initials': 'MA'}
Got:
    {'first_name': 'Michael', 'last_name': 'Adams', 'initials': 'MA'}

文档字符串是 -

>>> p.parse_name('Adams, Michael') 
... # doctest: +NORMALIZE_WHITESPACE
{'first_name': 'Michael', 'last_name': 'Adams','initials': 'MA'}

1 个答案:

答案 0 :(得分:10)

来自the docs

  

如果指定,所有空白序列(空白和换行符)都被视为相等。预期输出中的任何空格序列都将匹配实际输出中的任何空白序列

','不包含空格序列,因此不等同于', '


您可能需要阅读文档的warnings section

  

Python不保证将打印键值对   任何特定的顺序,所以像

这样的测试
>>> foo()
{"Hermione": "hippogryph", "Harry": "broomstick"}
     

很脆弱!一种解决方法是

>>> foo() == {"Hermione": "hippogryph", "Harry": "broomstick"}
True