2008-12-03 7 views
1

Dans la méthode d'installation d'un scénario de test JUnit sur laquelle je travaille, j'en ai besoin pour exécuter un script SQL sur ma base de données avant chaque test, puis une restauration par la suite.Exécution d'un script SQL à partir de JUnit

J'ai essayé d'utiliser un tokenizer, qui a ajouté chaque commande SQL à un lot, puis les a exécutées. Mais je ne peux pas travailler. Donc, ma question est de savoir s'il existe une méthode standard dans JUnit pour effectuer cette action?

Répondre

1

Ce n'est pas la tâche de JUnit de tester les instructions SQL.

Vous devez créer un Mocker (EasyMock, par exemple) et isoler la connexion. Ainsi, le simulacre peut imiter la connexion sql et ses résultats. Avec cet objet moqueur, vous pouvez vérifier si votre classe de connecteur sql appelle les bonnes instructions.

Si vous souhaitez tester l'instruction SQL, ses résultats, etc., vous devez utiliser DBUnit, comme l'a dit Aaron.

2

Vous pouvez essayer DbUnit

DbUnit est une extension de JUnit (également utilisable avec Ant) destiné aux projets axés sur la base de données qui, entre autres, met votre base de données dans un état connu entre les cycles de test. C'est un excellent moyen d'éviter la myriade de problèmes qui peuvent survenir lorsqu'un cas de test corrompt la base de données et provoque l'échec des tests ultérieurs ou exacerbe les dégâts. DbUnit a la capacité d'exporter et d'importer vos données de base de données vers et à partir de jeux de données XML. Depuis la version 2.0, DbUnit peut également fonctionner avec des jeux de données très volumineux lorsqu'il est utilisé en mode streaming. DbUnit peut également vous aider à vérifier que les données de votre base de données correspondent à un ensemble de valeurs attendu.

Questions connexes