我试图在工作中为某些代码创建一些单元测试。
代码接受一个对象,并根据该对象中的信息导入特定模块,然后创建它的实例。
我尝试编写的测试创建了对象,然后我检查它是我希望它导入的类的实例。问题是isinstance检查失败。
以下是我的测试结果。
import importlib
from path.to.imported_api import SomeApi
api = importlib.import_module("path.to.imported_api").create_instance() # create_instance() is a function that returns SomeApi().
assert isinstance(api, SomeApi) # This returns false, but I am not sure why.
答案 0 :(得分:-2)
有几件事可能导致这种情况: 首先,可能是api只是返回看起来像SomeApi()的东西。此外,SomeApi正在覆盖isinstance行为。