|
|||||||
Заглушки (mock) для свойств (property) в Python
Время создания: 20.04.2019 14:41
Автор: br0ke
Текстовые метки: python, unit, test, unittest, mock, property, PropertyMock
Раздел: Информационные технологии - Python - Библиотеки - unittest
Запись: and-semakin/mytetra_data/master/base/1555753287u0u9to1ujk/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Если нужно поставить заглушку (mock) на свойство объекта во время тестов, то не получится использовать обычный метод mock.patch -- свойство заменится на метод-заглушку и перестанет быть свойством. Для того, чтобы правильно замокать свойство, нужно использовать PropertyMock: class MyClass: @property def last_transaction(self): # an expensive and complicated DB query here pass def test(unittest.TestCase): with mock.patch('MyClass.last_transaction', new_callable=PropertyMock) as mock_last_transaction: mock_last_transaction.return_value = Transaction() myclass = MyClass() print myclass.last_transaction mock_last_transaction.assert_called_once_with() |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|