Bonjour, je suis nouveau dans le developpement java, je suis en train de mettre en place des tests unitaires sur mes classes vo de java :

j'utilise dans un applicationcontext.xml les beans suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<bean id="monDataSource"
		class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
 
		<property name="driverClassName" value="org.h2.Driver" />
		<property name="url" value="jdbc:h2:file:c:/dev/work/db;AUTO_SERVER=TRUE" />
		<property name="username" value="monuser" />
		<property name="password" value="monmdp" />
	</bean>
 
 
		<bean id="maSessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="monDataSource" />
		<property name="packagesToScan" value="fr.blabla.blabla2.*.domaine"/>		
 
		<property name="hibernateProperties">
			<props>
			 	<prop key="hibernate.show_sql">true</prop>
    			<prop key="hibernate.format_sql">true</prop>
				<prop key="hibernate.hbm2ddl.auto">create</prop>
				<prop key="hibernate.validator.apply_to_ddl">true</prop>
				<prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
			</props>
		</property>
	</bean>

a noter la propriété
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<prop key="hibernate.hbm2ddl.auto">create</prop>
afin que la base soit recréée systématiquement a cause de modification récurrente de la base, même de modification sur des nom de tables ou champ existant.

Pour mes tests, j'utilise une base de test xml injecté, grace a des opérations de setup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
testDatabaseTester.setSetUpOperation(DatabaseOperation.CLEAN_INSERT);
qui fonctionne bien.
Sur mes tests eux même, je passe par un XmlBeanFactory
Code : Sélectionner tout - Visualiser dans une fenêtre à part
protected XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
qui fonctionne bien aussi.

Le problème, c'est que j'ai l'impression que le test m'injecte bien le jeu de test, mais qu'il passe ensuite le create de ma propriété hibernate, si bien que la base est recréée après l'injection du jeu de test.
Pour preuve, si je sais que ma base est ok, et que je met un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<prop key="hibernate.hbm2ddl.auto">update</prop>
, mes tests unitaires sont impeccables.

Est ce qu'il existe une solution pour que hibernate me recrée ma base, puis que mon jeu de tests soient injecté par la suite ?