Comments 5
https://github.com/jupiter-tools/spring-boot-extensions
Есть прекрасный инструмент который упростит тестирование бд. По сути сведёт почти все к аннотациям.
Ссылка выше.
спасибо, выглядит интересно! попробую на днях и вернусь сюда с комментом
Пожалуйста) Статья хорошая. но просто вот(в прошлом комменте) инструмент поудобнее. Могу также показать примеры как пользоваться им, если надо
Потрогал библиотеку, что-то отлично зашло, что-то не очень. Если в деталях:
Не требуется объявлять TestContainers DataSource. Создание спрятано в Extensions. На мой взгляд, скорее минус, чем плюс - в URL я могу указать конкретную версию image’а, а здесь она прибита;
assert’ы на SQL-операции (ExpectedSqlQuery). Не встречал такого, любопытная идея. Используется для JPA, позволяет провалидировать, что в результате выполнения метода в базу улетят, к примеру, 2 INSERT’а и один SELECT. Но проверяется только количество, а не содержимое.
Database Rider. Jupiter Tools подтягивают ее как зависимость, и эта библиотека прям топ. По сути, это тот же синтаксический сахар вокруг DBUnit’а, который пробовал сделать рассмотренный мной spring-test-dbunit, только здесь это получилось хорошо. Из фич:
Проект живой, периодически обновляется;
Нет акцента на XML;
Наполнение базы с before- и after-выражениями (удобно, когда есть основной тестовый набор данных, но в некоторых тестах его надо чуть-чуть поменять);
Поддержка выражений на JS и Groovy в DataSet’ах;
Связанные переменные при валидации (удобно для foreign key);
Поддержка Cucumber’а.
Database Rider мне очень хорошо зашел, утащу к себе в проекты.
Тестируем работу с БД из SpringBoot: TestContainers, DBUnit и все-все-все