applications/webapp/modules/a.py をインポートするための local_import を含むモジュール applications/webapp/modules/a.py があります。a.py と b.py を doctest したい。"-T" オプションを指定した web2py シェルは部分的に動作しますが、"Finding tests in a.py: class " の後に以下に貼り付けられた例外が表示されます。
これは、「-T」オプションがコントローラーのテストのみを目的としているためであることを理解しています。しかし、a.py 内に local_import があるため、web2py 環境の外で a.py を簡単にテストする方法はありません。では、モジュールをドキュメントテストできるようにするには、どのようにモジュールをリファクタリングすればよいのでしょうか?
トレースバック (最新の呼び出しが最後):
ファイル "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