Как сбросить базу данных после каждого теста при использовании jeeunit? - PullRequest
0 голосов
/ 06 февраля 2012

Мне было интересно, есть ли кто-нибудь, кто успешно очищал содержимое базы данных перед каждым тестом при использовании jeeunit (или любой другой инфраструктуры тестирования приложений java ee)?

Я пытался использовать @Transactionalаннотация, как описано в документации jeeunit, где она будет откатывать все выполненные транзакции.Однако существуют случаи (сеанс сбрасывается), когда сделанные изменения сохраняются между тестами, вызывая загрязнение теста.

Любая помощь / руководство приветствуются!

Ответы [ 4 ]

1 голос
/ 06 февраля 2012

Поскольку вы упомянули «любую другую среду тестирования приложений java ee», я бы порекомендовал изучить Arquillian Persistence Extension для модульного тестирования приложений Java EE. Вы можете найти руководство по его использованию здесь: http://www.softwarepassion.com/java-ee-6-testing-with-arquillian-persistence-extension/

Подробнее о самом Arquillian здесь

0 голосов
/ 14 февраля 2012

Мое решение состояло в том, чтобы использовать jeeunit с h2 db и принудительно удалять все строки в базе данных через собственный SQL перед каждым тестом.

0 голосов
/ 06 февраля 2012

SpringTraft Framework's AbstractTransactionalJUnit4SpringContextTests - еще одно хорошее начало.

И вы можете сделать это самостоятельно, установив autoCommit (false) перед выполнением соединения и откатив после запуска кода.

0 голосов
/ 06 февраля 2012

DBUnit предназначен для решения этой конкретной проблемы - их веб-сайт здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...