Встречается на собеседованиях • сегодня
Какой опыт с testcontainers
Testcontainers — это библиотека для Java, позволяющая легко создавать и управлять временными контейнерами (Docker) в тестах. Часто используется для интеграционного тестирования с БД, Kafka, Redis и другими сервисами.
Пример с PostgreSQL:
java
@Testcontainers
public class UserRepositoryTest {
@Container
private static final PostgreSQLContainer<?> postgres =
new PostgreSQLContainer<>("postgres:15-alpine");
text
@BeforeAll
static void setup() {
// Подключение к контейнеру
String jdbcUrl = postgres.getJdbcUrl();
String username = postgres.getUsername();
String password = postgres.getPassword();
// Инициализация DataSource/JPA...
}
@Test
void testSaveUser() {
// Тест с реальной БД в контейнере
}}
text
**Плюсы:**
- Изоляция тестов (чистые контейнеры на каждый запуск).
- Не требует ручного развертывания инфраструктуры.
- Поддержка JUnit 5 через аннотации (`@Testcontainers`, `@Container`).
**Минусы:**
- Зависит от Docker (не подходит для CI без Docker).
- Медленнее, чем in-memory DB (например, H2).
Использую для тестирования Spring Boot-приложений с реальными зависимостями (БД, Kafka).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы