python3: doctest helper/internal 函数?
python3: doctest helper/internal functions?
如何进行以下工作才能使帮助者的测试为 运行?它没有。
def B():
def helper():
"""
>>> some doctest
result
"""
...
if __name__ == "__main__":
import doctest
doctest.testmod()
找不到嵌套函数,因为函数对象 不存在 直到 B()
函数为 运行。您必须 return 作为调用 B()
函数的结果,然后将其分配给 __test__
字典:
def B()
def helper()
"""
>>> some doctest
result
"""
return helper
# ...
if __name__ == "__main__":
import doctest
__test__ = {'helper': B()}
doctest.testmod()
doctest.testmod()
查找 __test__
全局字典并在值中的任何 类、方法、函数和模块上查找文档字符串;任何字符串值都直接作为文档字符串测试执行。
如果 B()
还做 其他 事情,那么您可能应该将 helper()
改为一个简单的全局函数:
def B():
# uses helper
def helper()
"""
>>> some doctest
result
"""
# ...
if __name__ == "__main__":
import doctest
doctest.testmod()
如何进行以下工作才能使帮助者的测试为 运行?它没有。
def B():
def helper():
"""
>>> some doctest
result
"""
...
if __name__ == "__main__":
import doctest
doctest.testmod()
找不到嵌套函数,因为函数对象 不存在 直到 B()
函数为 运行。您必须 return 作为调用 B()
函数的结果,然后将其分配给 __test__
字典:
def B()
def helper()
"""
>>> some doctest
result
"""
return helper
# ...
if __name__ == "__main__":
import doctest
__test__ = {'helper': B()}
doctest.testmod()
doctest.testmod()
查找 __test__
全局字典并在值中的任何 类、方法、函数和模块上查找文档字符串;任何字符串值都直接作为文档字符串测试执行。
如果 B()
还做 其他 事情,那么您可能应该将 helper()
改为一个简单的全局函数:
def B():
# uses helper
def helper()
"""
>>> some doctest
result
"""
# ...
if __name__ == "__main__":
import doctest
doctest.testmod()