Дерби, Java EE.Запуск интеграционного теста в файловую базу данных, не сбрасывается - PullRequest
2 голосов
/ 10 февраля 2012

Как настроить derby, чтобы не сбрасывать мою базу данных между каждым модулем / интеграционным тестом? Я хочу сохранить данные между прогонами.

dbDialect=DERBY
XADataSourceClassName=org.apache.derby.jdbc.ClientXADataSource
databaseName=ForumThreadDB
createDatabase=update
serverName=localhost
portNumber=1527
DriverClassName=org.apache.derby.jdbc.ClientDriver
url=jdbc:derby://localhost:1527/ForumThreadDB;create=true
user=APP
password=whatever

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

Я также получаю эту ошибку при запуске теста

---> WARN o.Runtime - Произошла ошибка при регистрации ClassTransformer с PersistenceUnitInfo: имя 'ForumThreadDomainPU', корневой URL [Файл: / C: / Проекты / OurForum / ForumThreadDomain / цель / классы /]. ошибка была уничтожена. Чтобы увидеть это, установите уровень журнала openjpa.Runtime проследить. Преобразование класса времени загрузки не будет доступно.

Ответы [ 2 ]

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

Полагаю, это может быть связано с настройкой Junit попробуйте добавить

@Rollback(value=false)

перед методом, для которого не требуется откат персистентности

0 голосов
/ 03 марта 2013

Если вы запускаете свои тесты в Maven, вы можете использовать плагин Maven, который я написал для Derby . Во время ваших тестов он запускает базу данных Derby в памяти, поэтому все они могут использовать одни и те же данные.

Проверьте файл USAGE здесь . Плагин доступен через Maven Central, поэтому вам не нужно добавлять дополнительные репозитории.

...