我想为我的插件系统编写单元测试。
插件加载器依赖于importlib.import_module
。它导入我的所有插件在合同中必须处于(foo.plugins
)的命名空间,然后查找foo.plugins.__path__
,导入它在那里找到的任何模块。
现在,我可以使用imp.new_module
动态创建模块,但importlib.import_module
无法导入这些模块。在我的单元测试中,我如何动态创建一个模块,例如foo.plugins.testme
,以便我可以通过我的插件加载器运行它?