Взгляните на Unitils . Он прекрасно поддерживает тестирование базы данных (с использованием DbUnit), которое мы использовали довольно давно. Он действительно гибкий, поэтому вы можете использовать его, если вам когда-нибудь понадобится предварительно загрузить данные в базу данных для конкретных модульных тестов.
С помощью Unitils вы создадите файл набора данных (empty-db.xml
), представляющий пустую базу данных:
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<obj1/>
<obj2/>
</dataset>
На классах или тестах, где необходимо настроить набор данных
@DataSet("empty-db.xml")
У нас есть общий базовый класс для всех тестов на постоянство, поэтому мы смогли разместить аннотацию только в одном месте.
Недостатком является то, что вам придется добавлять строки в этот файл каждый раз, когда вы добавляете сущности в Hibernate. И вы должны правильно оформить заказ, чтобы соответствовать ограничениям внешнего ключа. Мы закончили тем, что добавили модульный тест, чтобы проверить этот файл на соответствие конфигурации Hibernate и проверить его.
Положительным моментом, особенно для большой схемы, является то, что это намного быстрее, чем перестройка схемы.