Spring Unit testing - pinguet62/JSFring GitHub Wiki
Annoter la classe de test :
-
@RunWith(SpringJUnit4ClassRunner.class): classe qui lancera les tests unitaires -
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class}): injection -
@ContextConfiguration(locations = "/applicationContext.xml"): chemin des fichiers de configuration
Pour activer les transactions, annoter la classe de test :
@TestExecutionListeners({TransactionalTestExecutionListener.class})-
@Transactional(sinon Exception :javax.persistence.TransactionRequiredException: No transactional EntityManager available)
Annoter la classe de test :
@TestExecutionListeners({DbUnitTestExecutionListener.class})-
@DatabaseSetup("/dataset.xml"): chemin DU fichier de data set
⚠️ Plusieurs autorisés, mais seules les tables du 1er fichier sont vidés, donc problème de contraintes de clés primaires ou étrangères sur les suivants.
Définir un caractère pour pouvoir utiliser des noms de table réservés.
Par exemple la table Right sera utilisé sous le nom `Right`.
Déclarer les beans de configuration de DbUnit :
<bean id="dbUnitDatabaseConfig" class="com.github.springtestdbunit.bean.DatabaseConfigBean">
<property name="escapePattern" value="`?`" />
</bean>
<bean id="dbUnitDatabaseConnection" class="com.github.springtestdbunit.bean.DatabaseDataSourceConnectionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="databaseConfig" ref="dbUnitDatabaseConfig" />
</bean>