Встречается на собеседованиях • сегодня
Что делать если нет возможности локально устанавливать базу данных для использования ее с Unit-тестами
Используй in-memory базы данных, такие как H2 или SQLite. Они работают в оперативной памяти, не требуют установки и легко интегрируются с тестами.
Пример с H2 и JUnit:
java
@Test
public void testDatabaseOperations() {
// Настройка подключения к H2
String jdbcUrl = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1";
try (Connection conn = DriverManager.getConnection(jdbcUrl)) {
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE users (id INT, name VARCHAR(50))");
stmt.execute("INSERT INTO users VALUES (1, 'Alice')");
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
assertTrue(rs.next());
assertEquals("Alice", rs.getString("name"));
}
}Альтернативы:
- Mocking (Mockito) для DAO/репозиториев
- Testcontainers для поднятия реальных БД в Docker
- Встроенные решения (например, Spring Boot Test с
@DataJpaTest)
Главное — изолировать тесты и не зависеть от внешней инфраструктуры.

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