Tom*_*mmy 3 python doctest python-3.x
如何进行以下工作以便运行助手的测试?它没有。
def B():
def helper():
"""
>>> some doctest
result
"""
...
if __name__ == "__main__":
import doctest
doctest.testmod()
Run Code Online (Sandbox Code Playgroud)
找不到嵌套函数,因为在函数运行之前函数对象不存在B()。您必须将其作为调用函数的结果返回B(),然后将其分配给__test__字典:
def B()
def helper()
"""
>>> some doctest
result
"""
return helper
# ...
if __name__ == "__main__":
import doctest
__test__ = {'helper': B()}
doctest.testmod()
Run Code Online (Sandbox Code Playgroud)
doctest.testmod()查找__test__全局字典并查找值中任何类、方法、函数和模块的文档字符串;任何字符串值都直接作为文档字符串测试执行。
如果B()做其他的事情之外,那么你或许应该做helper()一个简单的全局函数:
def B():
# uses helper
def helper()
"""
>>> some doctest
result
"""
# ...
if __name__ == "__main__":
import doctest
doctest.testmod()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |