Обновить
3
0
Роман@Bonifach

Java-разработчик

Отправить сообщение

спасибо, надо будет попробовать

Выглядит как идея, которую действительно можно оформить в отдельную библиотеку. Но для этого ещё кучу нюансов стоит решить) по типу той же самой трудности с dind на раннерах гитлабовских.

Nested не пробовал. В целом стараюсь избегать любых вложенных классов, ибо большой класс, даже хорошо организованный - довольно сложно читать.

В теории да, конечно всегда можно без спринга обойтись (вопрос в том, насколько это сложно), но целью было интегрировать механизм именно в существующее спринговое приложение.

Например, в рамках следующего кейса - в спринговом приложении поднять базу, поднять систему аутентификации+подружить их между собой и начать после всего этого играться с токенами в рамках тестирования. Описанный подход как раз позволил этого добиться.

Если под ликвой имеется ввиду ликвибаза, то -

Пробовал (переезжал с h2 на тестконтейнеры, настройки не менял в части ликвибазы), скрипты накатываются, но только есть один нюанс - если использовать автоконфигурацию спринг бутовую, то при настройке тестового контекста вместо указанного (в классе с настройкой контейнера) пользователя начинает использоваться пользователь с логином system (а вот пароль остаётся тот, который указали). Тем не менее - скрипты накатываются, всё работает.

Вот да, единственное - трудно в Gitlab настроить, т.к. ryuk требует docker.sock чтобы управлять запуском / остановкой / чисткой контейнеров. https://www.testcontainers.org/supported_docker_environment/continuous_integration/gitlab_ci/

На своём раннере ещё можно настроить. На общих гитлабовских раннерах будет сложно что-то сделать.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Средний
Java
Oracle
Git
ООП
Spring Boot
Docker
Kubernetes
CI/CD
SQL
Английский язык