|
Les Fixtures Plan
Il arrive souvent que l'on veuille utiliser une même structure ou une même classe pour une série de tests unitaires. Ceci est rendu possible grâce aux fixtures. Il s'agit tout d'abord de déclarer les objets et structures que l'on utilisera, puis d'ajouter le code d'initialisation de ces objets et enfin, d'ajouter le code permettant la destruction de ces objets. Ces trois parties représentent les fixtures d'un TestCase.
Tout d'abord, il faut déclarer les structures et les objets que l'on veut utiliser dans nos tests unitaires. On utilise la macro DECLARE et END_DECLARE : À l'intérieur du bloc DECLARE, il ne faut que déclarer des objets, des variables ou des structures. Il est très important de ne pas les initialiser. Ce bloc de code appartient en fait à la partie "protected" d'une classe et doit donc respecter la syntaxe de C++ dans ce cas. Ensuite, on doit écrire le code d'initialisation en utilisant la macro SETUP: L'utilisation de la macro SETUP est obligatoire si on utilise les fixtures. Si vous n'avez pas besoin d'initialiser vos objets ou vos variables, vous n'avez qu'à ne pas placer de code entre les accolades de SETUP. Toute variable déclarée à l'intérieur du bloc SETUP ne sera pas accessible par les tests unitaires: elles doivent être déclarées dans le bloc DECLARE. Enfin, on doit écrire le code de finalisation en utilisant la macro TEARDOWN: Encore une fois, l'utilisation de la macro TEARDOWN est obligatoire si on utilise les fixtures. Si vous n'avez pas besoin de détruire vos objets ou vos variables, vous n'avez qu'à ne pas placer de code entre les accolades de TEARDOWN. Par la suite, vous pouvez commencer à écrire vos tests unitaires. Pour ce faire, si vous désirez utiliser les fixtures du TestCase, vous devez utiliser la macro TESTF (F pour Fixtures): La macro TESTF est très similaire à la macro TEST. La seule différence réside dans le fait qu'EasyUnit exécutera le code de SETUP avant le test et le code de TEARDOWN après le test. De plus, les objets et variables déclarées dans le bloc DECLARE seront accessibles par le code contenu dans TESTF. Il est possible de mélanger l'utilisation de TESTF et TEST sans problème. EasyUnit ignorera simplement le code des fixtures lorsqu'il rencontrera les tests unitaires déclarés avec TEST. Alors que l'utilisation de TESTF et TEST n'est pas assujettie à un ordre particulier (on peut insérer des TEST entre une série de TESTF), il est très important que DECLARE, END_DECLARE, SETUP et TEARDOWN soient déclarés dans cet ordre et avant les TESTF et TEST. Si cet ordre n'est pas respecté, le compilateur vous indiquera une ou plusieurs erreurs.
© 2004 Barthélémy Dagenais EasyUnit est distribué sous la license LGPL |