def test_importlib_loadmodule_relative_pkg(self):
"""Verify that package is importable relatively"""
print_importers()
assert __package__
if sys.modules.get(__package__ + '.pkg'):
raise unittest.SkipTest("module previously loaded".format(__package__ + '.pkg'))
else:
# load_module returns existing modules from sys.modules by specification
# see https://docs.python.org/3.3/library/importlib.html#importlib.abc.Loader)
pkg_loader = importlib.find_loader(__package__ + '.pkg', [os.path.dirname(__file__)])
pkg = pkg_loader.load_module(__package__ + '.pkg')
# safely adding to sysmodules to be able to perform relative imports in there
#sys.modules.setdefault(nspkg.__name__, nspkg)
self.assertTrue(pkg is not None)
self.assertTrue(pkg.TestClassInSubPkg is not None)
self.assertTrue(callable(pkg.TestClassInSubPkg))
# Note : apparently reload is broken with find_loader (at least on python 3.5)
# _find_spec in reload() apparently returns None...
#
# => not testing reload in that case (this API is obsolete anyway)
test_filefinder2_importlib_loadmodule.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录