Я разрабатываю веб-приложение с использованием Spring (3.1.x), JSF 2, JPA 2 (Hibernate Provider) для tomcat 6.x. Я хочу протестировать свои классы DAO.
В моем классе DAO: я делаю это:
@PersistenceContext
private EntityManager entityManager;
В конфигурации Spring;
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="OpenPU" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
В persistence.xml
<persistence-unit name="OpenPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:comp/env/jdbc/mysql_open</non-jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.transaction.flush_before_completion" value="true"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
<property name="hibernate.connection.zeroDateTimeBehavior" value="convertToNull"/>
</properties>
</persistence-unit>
Это первый раз, когда я делаю тест, и когда я тестирую, я не хочу использовать одну и ту же единицу сохранения состояния. Я слышал о dbunit для использования XML-данных, но не понимаю, как изменить блок сохранения во время теста. Можете ли вы мне помочь или привести пример, учебник.
Спасибо вам.