有没有办法为unittests
撰写doctests
或innerfunc
?
def outerfunc():
def innerfunc():
do_something()
return innerfunc()
答案 0 :(得分:7)
仅当您提供了一种提取内部函数对象本身的方法时,例如
def outerfunc(calltheinner=True):
def innerfunc():
do_something()
if calltheinner:
return innerfunc()
else:
return innerfunc
如果你的外部功能坚持将内部完全隐藏在自身内部(在适当地哄骗时不要让它渗透到外部),你的单元测试无法击败这种对极端和完全隐私的强烈要求;-)。
答案 1 :(得分:4)
这实际上是一个旧的开放Python问题:
有一个候选补丁(从2007年开始)使doctest找到嵌套函数,但有人可能需要推动它。