使用Python2.7,我试图测试特定函数调用的结果为None
我希望这些测试能通过(原谅这个相当愚蠢的例子)
def six_or_none(val):
"""
>>> six_or_none(6)
6
>>> six_or_none(4)
None
"""
if val == 6:
return 6
return None但是,它们会产生以下结果
Failed example:
six_or_none(4)
Expected:
None
Got nothing在文档测试中没有测试的正确方法是什么?
发布于 2013-11-18 12:13:05
Python解释器忽略None返回值,因此doctest也会这样做。
相反,对is None进行测试:
>>> six_or_none(4) is None
True发布于 2013-12-03 20:27:45
其他选项是直接检查None
def six_or_none(val):
"""
>>> six_or_none(6)
6
>>> six_or_none(4)
"""
if val == 6:
return 6
return None发布于 2020-12-25 10:03:45
如果您想要在文档中看起来像您期望的东西,另一种选择是:
>>> print(six_or_none(4))
Nonehttps://stackoverflow.com/questions/20047519
复制相似问题