Дб юнит тесты. Ограничения отключения
У меня есть набор модульных тестов, которые проверяют мой уровень DAO. У меня есть следующие требования: - Для одного поднабора тестов мне нужно отключить ограничения (внешний ключ, уникальный, не ноль). - Для других подмножеств мне нужно оставить их (я проверяю целостность данных здесь).
Поэтому для нескольких тестов я хочу включить ограничения, для других - отключить.
Сначала я попытался использовать DbMantainer(часть Unitils), потому что у него есть опция отключения ограничений. Но после этого я изучил источники и обнаружил, что он может удалить (через таблицу изменений) ограничения только в тот момент, когда я запускаю процесс миграции. После того, как ограничения были удалены один раз (до того, как я запускаю первый тест), я не могу включить их позже (тесты целостности).
Итак, мои вопросы: 1. Можете ли вы предложить мне другие инструменты (например, DbMantainer или Unitils), которые могут отключить ограничения? 2. Если таких инструментов не существует, что, по вашему мнению, лучше всего отключить и включить ограничения в модульном тестировании БД?
1 ответ
Вы можете посмотреть в DBUnit (расширение JUnit)
http://java.dzone.com/articles/solve-foreign-key-problems
http://raibledesigns.com/rd/entry/dbunit_tip_turn_off_foreign
Спасибо