Mocks и Stubs
Чем stub отличается от mock?
Различия между
stub
и
mock
:
Stub
-
Назначение: Предоставляет заранее определенные ответы на вызовы, используется для упрощения тестирования.
-
Использование: Подставляет данные или поведение, чтобы изолировать тестируемый модуль.
-
Фокус: На вводе и выводе данных.
Mock
-
Назначение: Имитация поведения объектов для проверки взаимодействий и вызовов.
-
Использование: Устанавливает ожидания на вызовы методов и проверяет их выполнение.
-
Фокус: На проверке взаимодействий и порядков вызовов.
Пример:
// Stub: предоставление данных
StubService stubService = mock(StubService.class);
when(stubService.getData()).thenReturn("stub data");
// Mock: проверка взаимодействий
MockService mockService = mock(MockService.class);
mockService.performAction();
verify(mockService).performAction();