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

Где должен быть установлен PostgreSQL для использования ег с Unit-тестами

PostgreSQL для Unit-тестов лучше запускать в изолированном окружении, чтобы избежать зависимостей от внешних сервисов. Оптимальные варианты:

  1. Встроенная база H2 (в режиме совместимости с PostgreSQL) – для простых тестов без специфичных фич PostgreSQL. Пример конфигурации в application-test.properties:
properties
spring.datasource.url=jdbc:h2:mem:testdb;MODE=PostgreSQL
spring.datasource.driver-class-name=org.h2.Driver
  1. Testcontainers – для полной эмуляции PostgreSQL в Docker:
java
@Testcontainers
class MyRepositoryTest {
    @Container
    static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:15");
    
    // Настройка DataSource с postgres.getJdbcUrl()
}
  1. Локальный PostgreSQL – только если тесты требуют специфичных функций (но это менее надежно из-за возможных различий в окружениях).

Важно: тесты должны быть независимыми и очищать данные после себя (например, через @Transactional или ручную очистку в @AfterEach).

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

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

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

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