Hsqldb pour les tests unitaires avec DBUnit
Par philippe voncken, jeudi 16 décembre 2010 à 08:40 :: Architecture :: #200 :: rss
Faire ses tests unitaires avec DBUnit à l'avantage de tester directement et de manière unitaire tout le mécanisme des services métier en validant du même coup les mécanismes de persistance et de recherche en base. On peut utiliser une vrai base, à l'image de la prod, et risquer d'écrire du code spécifique à la base de données de PROD ET surtout s'embetter à configurer sur la PIC une vrai base avec la maintenance qui va avec.
Ou alors on peut utiliser Hsqldb embarqué dans les tests unitaires, qui permettra du même coup de vérifier que le code écrit est bien portable.
Pour configurer Hsqldb je suis tombé sur un thread du forum developpez qui m'a permis de choisir une conf qui fonctionne.
<properties> <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" /> <!-- <property name="hibernate.connection.url" value="jdbc:hsqldb:hsql://localhost/db_unit_test" /> --> <property name="hibernate.connection.url" value="jdbc:hsqldb:target/db/da;shutdown=true;hsqldb.applog=1" /> <property name="hibernate.connection.username" value="sa" /> <property name="hibernate.connection.password" value="" /> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" /> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="hibernate.connection.autocommit" value="false"/> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/> </properties>
En rouge, le parametre en mode serveur, en vert en mode in-memory.
Je l'utilise en mode mémoire et ca passe bien avec Hbm2ddl + dbunit.
Commentaires
1. Le dimanche 9 janvier 2011 à 21:51, par doorse-online :: site
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.