Интеграционные тесты в Java: ускоряем Testcontainers через tmpfs и прединициализацию
Testcontainers - Java-библиотека, которая управляет Docker-контейнерами прямо из тестового кода. Во время выполнения тестов она запускает нужный контейнер - базу данных, брокер сообщений, поисковый движок и т.д. - а по завершении останавливает и удаляет контейнер. Зачем это нужно? Для интеграционных тестов на реальном ПО, а не на in-memory эмуляторах. Тест работает с тем же движком, что и в продакшене. В этой статье я разберу, как можно оптимизировать работу с Testcontainers: tmpfs - перенос файлов в оперативную память. Прединициализация - перенос тяжёлой инициализацию в отдельный Docker-образ. Если по первому пункту, в интернете есть статьи, то по второму - практически не встречаются, и выбранный мною подход нигде не описан. В качестве примера буду использовать контейнер с MySQL, хотя все написаное справедливо и для любых других сервисов. Читать далее
Комментарии
Загрузка…





