Ответ 1
При всем уважении, похоже, вы, ребята, не совсем правы!
Я могу использовать утку, как сказано, но есть способ сделать то, что я намеревался сделать в первую очередь:
от 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, я говорю, что если вам нужно проверить это, вы можете сделать это, и это также работает с тестированием и макетом.