Интеграционное тестирование JPA Persistence.xml

Я пытаюсь выполнить интеграционное тестирование разработанных мной сервисов. Часть сервиса включает в себя использование daos. На данный момент мне нужно сделать в моей настройке какое-то соединение с постоянным устройством, а затем я могу протестировать свою службу.

Я в основном копирую файл persistence.xml и помещаю его в src/test/resources и пытаюсь

@Before
public void beginTransaction() {
  emf = Persistence.createEntityManagerFactory(dao-test");
  em = emf.createEntityManager();
}

@Test public void testAccountDonation(){

    AccountResult result = AccountService.getDonationAmount();
    Assert.assertEquals("Success", result.getResultCode());


}

Не удалось установить соединение для класса драйвера "oracle.jdbc.driver.OracleDriver" и URL-адреса "jdbc:oracle:thin:@data-arctichome.arcww2.com:1521:orclgdb1". Возможно, вы указали неверный URL.

Вот мой блок настойчивости.

<persistence-unit name="dao-test"
    transaction-type="RESOURCE_LOCAL">

    <properties>
        <property name="openjpa.ConnectionDriverName"
            value="oracle.jdbc.driver.OracleDriver" />


        <property name="openjpa.ConnectionURL"
            value="jdbc:oracle:thin:@xxxxxxxxx:orclgdb1" />
        <property name="openjpa.ConnectionUserName" value="xxxxxx" />
        <property name="openjpa.ConnectionPassword"
            value="xxxxxx" />
    </properties>
</persistence-unit>

Спасибо.


person Kelly Roper    schedule 13.09.2011    source источник


Ответы (2)


Spring предлагает много помощи по юнит- и интеграционное тестирование, например, управление контекстами приложений и транзакциями в интеграционных тестах, поэтому вместо того, чтобы пытаться самостоятельно создавать в коде все элементы сохранения и т. д. для тестов, я предлагаю вам прочитать тестирование главу (и, возможно, поищите несколько примеров в сети) и используйте функциональность, предоставляемую Spring. В долгосрочной перспективе это сэкономит вам массу времени и нервов.

person esaj    schedule 20.03.2012

Я все еще новичок в JPA, GlassFish и т. д., но в вашем случае мне интересно, с чего вы начинаете базу данных. Для встроенных приложений, я думаю, вам нужно запускать его в коде, не так ли? Просто мысли вслух...

person Matthew Cornell    schedule 20.03.2012