2013-11-26 5 views
1

Я бы хотел использовать другую систему сохранения при тестировании с помощью JUnit. Я создаю встроенный EJBC-контейнер и просматриваю свой Enterprise Bean, но, конечно, он использует группу Persistence, описанную в аннотации PersistenceContext на моем Enterprise Bean.Различная стойкость при тестировании

Есть ли способ достичь моей цели? Поскольку я нашел похожие вопросы, я должен упомянуть, что я использую Ant.

ответ

0

Для этого вы можете использовать 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, поэтому некоторые люди получили ее работу.

Надеюсь, вы сможете работать оттуда. Постарайтесь и принимайте свое собственное решение, как только получите его на работу.

+0

Это было бы неплохое решение, но, к сожалению, Arquillian и Ant не очень хорошо ладят, по крайней мере, я не могу найти какой-либо ресурс о том, как добавить Arquillian в свой проект, поскольку, похоже, , – dkaisers

+0

@ DominikKaisers вы правы, к сожалению. Изменили ответ, чтобы быть немного менее бесполезным :) Удачи. – kostja

+0

В конце концов, то, что я сделал, заключалось в проверке логики моего DAO вне контейнера. Я создаю DAO с «новым» и просто устанавливаю EntityManager вручную через EntityManagerFactory - настроен на использование моего Test-PersistenceUnit (оба в том же файле persistence.xml, но я все еще пытаюсь их разделить). Этого было достаточно для проверки моей логики DAO. – dkaisers

Смежные вопросы