Встречается на собеседованиях • сегодня
Проверял ли Unit-тесты при работе с базами данных
Unit-тесты не должны напрямую взаимодействовать с реальной БД, так как это замедляет их выполнение и делает результаты нестабильными. Вместо этого используют:
- Моки/стабы (Mockito, EasyMock) для имитации DAO/репозиториев
- In-memory БД (H2, SQLite) для интеграционных тестов
- Testcontainers для поднятия изолированных контейнеров с БД в тестах
Пример с Mockito:
java
@Test
void testUserService() {
UserRepository mockRepo = mock(UserRepository.class);
when(mockRepo.findById(1L)).thenReturn(new User(1L, "test"));
UserService service = new UserService(mockRepo);
User user = service.getUser(1L);
assertEquals("test", user.getName());
verify(mockRepo).findById(1L);
}Для тестов с реальной БД лучше использовать интеграционные тесты (@SpringBootTest) с тестовой БД, которая очищается перед каждым тестом.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы