Для этого вы можете использовать Arquillian. При упаковке тест-архив, вы можете включить любой файл, который вы любите, как тест-х persistence.xml
:
@RunWith(Arquillian.class)
public class MyTest {
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap
.create(WebArchive.class, "test.war")
...
.addAsResource("MY_TEST_RESOURCES/persistence.xml",
"META-INF/persistence.xml")
...
}
EDIT: Я просто предположить разумную Ant интеграции для Arquillian, но я был неправ. Хотя создатели Arquillian сообщить, что он не привязан к Maven и предположительно
... работает так же хорошо, если не лучше-при использовании в проекте с Ant или Gradle
как указано here. Для муравей нет рабочего примера. Соответствующий номер documentation page не завершен. Есть некоторые связанные с этим отходы here и here и статья here, поэтому некоторые люди получили ее работу.
Надеюсь, вы сможете работать оттуда. Постарайтесь и принимайте свое собственное решение, как только получите его на работу.
Это было бы неплохое решение, но, к сожалению, Arquillian и Ant не очень хорошо ладят, по крайней мере, я не могу найти какой-либо ресурс о том, как добавить Arquillian в свой проект, поскольку, похоже, , – dkaisers
@ DominikKaisers вы правы, к сожалению. Изменили ответ, чтобы быть немного менее бесполезным :) Удачи. – kostja
В конце концов, то, что я сделал, заключалось в проверке логики моего DAO вне контейнера. Я создаю DAO с «новым» и просто устанавливаю EntityManager вручную через EntityManagerFactory - настроен на использование моего Test-PersistenceUnit (оба в том же файле persistence.xml, но я все еще пытаюсь их разделить). Этого было достаточно для проверки моей логики DAO. – dkaisers