Sommaire

TestContextTestContext et source de données

La méthode d’initialisation de la classe reçoit en paramètre un objet de type TestContext. L’utilisation de cet objet est facultative. Il contient un certain nombre d’informations sur la configuration du test en cours d’exécution mais surtout il permet de définir une source de données qui va alimenter les tests. On parle alors de "data-driven unit tests" et on comprend très vite l’intérêt de ce mode de tests...

Imaginons en effet que nous ayons à tester le comportement d’une méthode dans des centaines de cas d’utilisation. La collection d’informations sera difficile à écrire et à maintenir dans le code. Tout changement nécessitera une recompilation du test. C’est pour ces raisons qu’externaliser la collection est nécessaire. Le développeur peut tout à fait gérer lui-même le chargement puis l’itération dans la collection. Cependant, ce n’est pas l’objectif du test…

Le framework offre la possibilité d’alimenter les tests en informations provenant de bases de données telles que SQL, XML, CSV... Le testeur a juste à définir le type et les paramètres d’accès à la base et TestUnit se charge de faire le reste en appelant le test concerné pour chaque enregistrement de la table.

La démonstration qui suit utilise une collection ...