Ответ
Стек для автоматизированного тестирования включал:
1. Модульное тестирование (Unit Testing):
- JUnit 5 — основной фреймворк.
- Mockito — для создания mock- и stub-объектов, изоляции тестируемого модуля.
@Test
void shouldReturnProcessedData() {
// Arrange
Dependency mockDep = Mockito.mock(Dependency.class);
when(mockDep.fetch()).thenReturn("mocked data");
Service service = new Service(mockDep);
// Act
String result = service.process();
// Assert
assertEquals("Processed: mocked data", result);
verify(mockDep).fetch(); // Проверка взаимодействия
}
2. Интеграционное тестирование:
- Spring Boot Test — для поднятия тестового контекста приложения.
- Testcontainers — для запуска реальных БД в Docker-контейнерах.
- REST Assured — для тестирования REST API на уровне HTTP.
3. Дополнительные инструменты:
- JaCoCo — для анализа покрытия кода тестами (code coverage).
- Postman/Newman — для ручного и скриптового тестирования API.
- Selenium — для автоматизации UI-тестов веб-приложений.