Par Primaël BRUANT.
Version au 07/09/2014.
Ce document présente la façon d'utiliser DbUnitTest pour gérer et créer des tests.
###Pré-requis### Avoir installer DbUnitTest dans son répository local. ###Installation dans un projet###
<dependency>
<groupId>fr.nimrod.info</groupId>
<artifactId>dbUnitTest</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
###Utilisation dans un test### Vous devez dans un premier temps déclarer dans votre test le @Rule Junit4:
@Rule
public NimrodDbRule dbUnitRule = new NimrodDbRule(__Class d'appel__, __Driver de la bdd___,
__URL de connexion__, __utilisateur__, __password__);
Ensuite sur vos méthode de test, ajouter les annotations :
- @Schema => Pour l'éxecution d'un script
- @Data => Pour l'insertion d'un jeu de données (supporte actuellement le format JSON et XML)
- @DataExpected => Pour la vérification entre les données obtenues et les données attendues.
Annotation permettant l'import d'un script sql (ie. la création d'une table)
@Schema({"utilisateur.sql", "role.sql"})
@Schema prend pour valeur le ou les fichiers sql a chargés.
Annotation permettant l'ajout de données.
@Data(value={"utilisateur.xml", "role.json"}, phase=Phase.BEFORE)
@Data prend pour valeur le ou les fichiers de données a chargés. Actuellement seul les formats json et xml sont supportés.
Annotation permettant de valider la bonne modification des données.
@DataExpected(file="/user-expected.json", tableName="utilisateur", ignoredColumn={"hash","salt"} )
@DataExpected:
attributs obligatoires:
- file : prend pour valeur le de données a validés (données attendues).
- tableName : la table concernées par le test.
attribut optionnel:
- ignoredColumn : les colonnes ignorés lors de la comparaison.
Lancer votre test, that's it!