我有一个模块applications/webapp/modules/a.py,其中包含一个local_import来导入applications/webapp/modules/b.py。我想对 a.py 和 b.py 进行 doctest。带有“-T”选项的 web2py shell 部分工作,但在说“在 a.py 中查找测试:类”后会抱怨下面粘贴的异常。
我知道这是因为“-T”选项仅用于测试控制器。但是由于 a.py 中的 local_import,没有简单的方法可以在 web2py 环境之外对 a.py 进行 doctest。那么我应该如何重构模块以便我可以对它们进行 doctest 呢?
回溯(最后一次调用):
文件“web2py.py”,第 19 行,在 gluon.widget.start(cron=True) 文件“/home/.../web2py/gluon/widget.py”,第 796 行,在开始测试(options.test,verbose=options.verbose)文件“/home/.../web2py/gluon/shell.py”,第 326 行,在测试 doctest_object(name,obj)文件“/home/.. ./web2py/gluon/shell.py”,第 322 行,在 doctest_object 中 doctest_object(attr_name, o) 文件“/home/.../web2py/gluon/shell.py”,第 321 行,在 doctest_object 中 o = eval(' %s.%s' % (name, attr_name), globs) File "", line 1, in NameError: name ' class ' is not defined