Что такое mock/stub? Какие знаете инструменты для работы с ними?
Mock и Stub - это два типа объектов, используемых в тестировании программного обеспечения для изоляции и эмуляции компонентов системы.
Mock:
Определение: Mock объект создается для имитации поведения реального объекта или системного компонента.
Использование: Mocks используются для проверки вызовов методов, передачи параметров, и возвращения заданных результатов.
Пример: Если у вас есть класс, который взаимодействует с базой данных, вы можете создать Mock объект, чтобы эмулировать эту базу данных и проверить, вызываются ли методы взаимодействия с базой данных.
Stub:
Определение: Stub представляет собой объект, предназначенный для предоставления заранее определенных ответов на вызовы методов.
Использование: Stubs используются для замены реальных объектов, чтобы предоставить контролируемые ответы и изолировать тестируемый код от зависимостей.
Пример: Если у вас есть функция, которая отправляет запрос на удаленный сервер, вы можете заменить этот запрос Stub объектом, чтобы избежать реальных сетевых вызовов во время тестирования.
Инструменты для работы с Mock и Stub:
JUnit и Mockito (Java):
Mockito - библиотека для создания Mock и Stub объектов в тестах на Java.
unittest.mock (Python):
В Python можно использовать модуль
unittest.mock
для создания Mock и Stub объектов.
Sinon.js (JavaScript):
Sinon.js - библиотека для создания Mock и Stub объектов в тестах на JavaScript.
Last updated