У меня есть несколько сессионных компонентов без сохранения состояния, для которых я создал модульные тесты.Когда я запускаю эти тесты во встроенном контейнере GlassFish, для моего проекта используется постоянный модуль по умолчанию, который является локальной базой данных MySQL для целей разработки.Однако при выполнении модульных тестов я хочу использовать встроенную базу данных Derby, чтобы при любом модульном тестировании база данных не загромождалась фиктивными данными.
В OpenEJB можно переопределить файл persistence.xml, создав хешотобразить и поместить некоторые свойства, например так:
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.client.LocalInitialContextFactory");
p.put("movie-unit.hibernate.hbm2ddl.auto", "update");
p.put("movie-unit.hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
context = new InitialContext(p);
Возможно ли то же самое или что-то подобное в реализации Sun для запуска модульных тестов в другой базе данных?
Редактировать: Я использую Ant для создания проекта.Я предполагаю, что можно было бы скопировать тестирование persistence.xml при запуске теста и скопировать обычный файл persistence.xml для развертываний, но это кажется неуклюжим.Было бы целесообразно перейти на Maven?