如何进行以下工作以便运行帮助程序的测试?它没有。
def B():
def helper():
"""
>>> some doctest
result
"""
...
if __name__ == "__main__":
import doctest
doctest.testmod()
答案 0 :(得分:2)
无法找到嵌套函数,因为在运行B()
函数之前,函数对象不存在 。您必须返回作为调用B()
函数的结果,然后将其分配给__test__
字典:
def B()
def helper()
"""
>>> some doctest
result
"""
return helper
# ...
if __name__ == "__main__":
import doctest
__test__ = {'helper': B()}
doctest.testmod()
doctest.testmod()
查找__test__
全局字典,并查找值中任何类,方法,函数和模块的文档字符串;任何字符串值都直接作为docstring测试执行。
如果B()
除了其他之外,那么您可能应该将helper()
改为一个简单的全局函数:
def B():
# uses helper
def helper()
"""
>>> some doctest
result
"""
# ...
if __name__ == "__main__":
import doctest
doctest.testmod()