在所有应有的尊重下,看来你们不太正确!
我可以使用鸭子输入,但是首先有一种方法可以完成我打算做的事情:
来自http://docs.python.org/dev/library/unittest.mock.html
将类或实例用作
spec或
spec_set能够通过isintance测试的模拟对象:
>>>>>> mock = Mock(spec=SomeClass)>>> isinstance(mock, SomeClass)True>>> mock = Mock(spec_set=SomeClass())>>> isinstance(mock, SomeClass)True
所以我的示例代码如下:
m = mock.MagicMock(spec=bpgsql.Connection)isinstance(m, bpgsql.Connection)
这返回True
综上所述,我不是在要求在python中进行严格的类型检查,我说如果您需要检查它就可以做到,它也可以与测试和模拟一起使用。



