Встречается на собеседованиях • сегодня

Должен ли каждый разработчик локально устанавливать базу данных для использования ее с Unit-тестами

Нет, не обязательно. Для unit-тестов лучше использовать in-memory базы данных (например, H2) или моки (Mockito). Это ускоряет тесты и делает их независимыми от окружения.

Пример с H2:

java
@Test
public void testUserRepository() {
    // Настройка H2 в памяти
    DataSource dataSource = new EmbeddedDatabaseBuilder()
        .setType(EmbeddedDatabaseType.H2)
        .addScript("schema.sql")
        .build();
        
    UserRepository repo = new UserRepository(dataSource);
    // Тестируем методы репозитория
}

Преимущества:

  • Не требует установки СУБД
  • Быстрые тесты
  • Изолированное окружение
  • Легко настраивается в CI/CD

Для интеграционных тестов можно использовать Testcontainers с Docker.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы