从同一个类创建的两个对象,isinstance = False

时间:2017-09-20 20:11:40

标签: python python-2.7 python-unittest

我试图在工作中为某些代码创建一些单元测试。

代码接受一个对象,并根据该对象中的信息导入特定模块,然后创建它的实例。

我尝试编写的测试创建了对象,然后我检查它是我希望它导入的类的实例。问题是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.

1 个答案:

答案 0 :(得分:-2)

有几件事可能导致这种情况: 首先,可能是api只是返回看起来像SomeApi()的东西。此外,SomeApi正在覆盖isinstance行为。