Développement de tests

De RAD Studio
Aller à : navigation, rechercher

Remonter à Présentation de DUnit


Remarque: DUnitX utilise des fonctionnalités du langage Delphi qui ne sont pas prises en charge dans C++. Pour les développeurs C++, DUnit est le meilleur outil. C++ peut également être testé à l'aide d'autres frameworks comme Google Test, disponible via le Gestionnaire de packages GetIt.

Nouveauté pour 2010 ! Vidéo : Delphi Unit Tests, par Mike Rozlog (EN)

La structure d'un test unitaire dépend en grande partie de la fonctionnalité de la classe et de la méthode que vous testez. Les experts de test unitaire génèrent des templates squelette pour le projet de test, les méthodes setup et teardown, et les cas de test de base. Vous pouvez ensuite modifier les templates, en ajoutant la logique de test spécifique permettant de tester vos méthodes particulières.

La section suivante décrit les procédures de création d'un projet de test unitaire et d'un cas de test unitaire. Suivez ces procédures dans l'ordre spécifié. Vous devez créer le projet de test unitaire avant la création des cas de test associés. L'expert Cas de test unitaire est seulement disponible si le projet actif en cours est un projet de test unitaire.

Pour créer un projet de test

  1. Choisissez Fichier > Nouveau > Autre.
  2. Ouvrez le dossier Test unitaire.
  3. Double-cliquez sur l'élément Projet de test de la galerie. Cela démarre l'expert Projet de test et affiche la page Détails du projet de test.
  4. Remplissez les informations appropriées ou acceptez les valeurs par défaut. Entrez les informations suivantes :
    • Projet : Entrez le nom du nouveau projet de test ou acceptez la valeur par défaut. La valeur par défaut est le nom du projet actif avec le mot Tests ajouté à la fin du nom. En l'absence d'un projet actif, la valeur par défaut sera UnitTest avec un numéro de séquence ajouté à la fin du nom.
    • Emplacement : Entrez le nom complet du dossier dans lequel sera créé le projet de test ou acceptez la valeur par défaut. La valeur par défaut est un sous-dossier nommé test, sous le dossier du projet actif. En l'absence d'un projet actif, la valeur par défaut sera alors le dossier par défaut des projets. Vous pouvez cliquer sur les points de suspension (...) pour afficher une boîte de dialogue Parcourir dans laquelle vous pouvez sélectionner l'emplacement.
    • Personnalité : Sélectionnez la personnalité (langage de code) dans la liste déroulante ou acceptez la valeur par défaut. La valeur par défaut est la personnalité du projet actif.
  5. Si vous ne voulez pas que le projet de test soit ajouté à votre groupe de projets, désactivez la case à cocher Ajouter au groupe de projets.
  6. Cliquez sur Suivant pour continuer ou sur Terminer pour accepter les valeurs par défaut restantes. Si le bouton Terminer est disponible, vous pouvez cliquer dessus à partir de n'importe quel endroit pour accepter les valeurs par défaut des champs restants et générer immédiatement le nouveau projet de test. Sinon, cliquez sur Suivant pour accéder à la page Options du framework de test.
  7. Remplissez les informations appropriées ou acceptez les valeurs par défaut. Entrez ce qui suit :
    • Framework de test : Pour les personnalités Delphi et C++, seul le framework DUnit est pris en charge. Vous ne pouvez donc pas modifier cette valeur.
    • Lanceur de test : Choisissez GUI ou Console dans la liste déroulante. Le lanceur de test en mode console oriente la sortie vers la console. Le lanceur de test en mode GUI affiche les résultats de manière interactive dans une fenêtre de l'interface utilisateur graphique, avec les résultats codés en couleur indiquant la réussite ou l'échec des tests.
  8. Cliquez sur Terminer. L'expert Projet de test génère le template de projet de test. Pour Delphi, les références nécessaires du source sont également ajoutées dans le template de projet de test ; vous pouvez ignorer l'étape suivante. Pour C++Builder, vous devez lier manuellement le projet de test aux classes C++ que vous voulez tester ; passez à l'étape suivante.
  9. Pour C++Builder seulement : Liez le nouveau projet de test au source à tester. Pour C++Builder, vous devez lier manuellement le projet de test au code C++ que vous voulez tester. Vous pouvez utiliser l'une des techniques suivantes, comme il convient :
    • Ajouter le code C++ directement au projet de test.
    • Ajouter un fichier .obj au projet de test.
    • Ajouter un fichier .lib (une bibliothèque statique ou une bibliothèque d'importation pour une DLL) au projet de test.
    • Inclure le fichier en-tête qui implémente la classe à tester. Pour obtenir des instructions, consultez la section suivante Ajout de fichiers à un projet de test.

Ajout de fichiers à un projet de test

  1. Ouvrez le fichier projet de test et activez-le. Pour activer le fichier, sélectionnez-le dans le Gestionnaire de projets et cliquez sur le bouton Activer.
  2. Dans le Gestionnaire de projets, cliquez avec le bouton droit sur le nom du projet de test. Cela affiche un menu déroulant des opérations de projet.
  3. Choisissez Ajouter.... Cela affiche le navigateur de fichiers Ajouter au projet, à partir duquel vous pouvez sélectionner le fichier à inclure dans votre projet de test.
  4. Sélectionnez le fichier à ajouter et cliquez sur OK. Cette action ajoute le fichier sélectionné au projet de test.

Pour créer un cas de test

  1. Cliquez sur l'onglet Code du fichier contenant les classes que vous souhaitez tester. Cela active le fichier dans l'éditeur de code.
  2. Choisissez Fichier > Nouveau > Autre.
  3. Ouvrez le dossier Test unitaire.
  4. Double-cliquez sur l'élément de la galerie Cas de test. Cela démarre l'expert Cas de test et affiche la page Sélection des méthodes à tester.
  5. Entrez le nom du fichier source contenant les classes que vous souhaitez tester. Vous pouvez cliquer sur les points de suspension (...) pour afficher une boîte de dialogue Ouvrir dans laquelle vous pouvez sélectionner le fichier.
  6. Sélectionnez les classes et les méthodes pour lesquelles vous voulez créer des tests. Dans la liste Classes et méthodes disponibles, cliquez sur la case à cocher en regard d'un élément pour le sélectionner ou le désélectionner. Par défaut, toutes les classes et méthodes sont sélectionnées. Vous pouvez désélectionner individuellement des méthodes dans la liste. L'expert génère des templates de cas de test uniquement pour les méthodes cochées (sélectionnées). Si vous désélectionnez une classe, l'expert ignore la classe entière et toutes ses méthodes, même si vous ne désélectionnez pas les méthodes. Si vous sélectionnez une classe mais ne sélectionnez pas les méthodes de cette classe, l'expert génère un cas de test pour la classe, mais ne génère aucune méthode de test pour cette classe.
  7. Cliquez sur Suivant pour continuer ou sur Terminer pour accepter les valeurs par défaut restantes. Si le bouton Terminer est disponible, vous pouvez cliquer dessus à partir de n'importe quel endroit pour accepter les valeurs par défaut des champs restants et générer immédiatement le nouveau cas de test. Sinon, cliquez sur Suivant pour accéder à la page Détails du cas de test.
  8. Remplissez les informations appropriées ou acceptez les valeurs par défaut.
    • Projet de test : Sélectionnez le projet de test dans la liste déroulante. La valeur par défaut est le projet de test actif. Si vous venez de créer un projet de test à l'aide de l'expert Projet de test, le nouveau projet de test devient alors la valeur par défaut.
    • Fichier : Entrez un nom de fichier pour le cas de test que vous avez créé ou acceptez la valeur par défaut. La valeur par défaut est le nom du fichier source à tester, avec le préfixe Test ajouté à la fin du nom.
    • Framework de test : Pour les personnalités Delphi pour Win32 et C++, seul le framework DUnit est pris en charge. Vous ne pouvez donc pas modifier cette valeur.
    • Classe de base : Sélectionnez la classe de base dans la liste déroulante ou acceptez la valeur par défaut. La valeur par défaut est TTestCase, c'est-à-dire la classe de base TestCase par défaut. Dans la plupart des cas, vous pouvez utiliser la valeur par défaut. Toutefois, vous pouvez spécifier une classe TTestCase personnalisée que vous avez créée. En outre, si vous testez une hiérarchie d'objets, vous pouvez dériver le nouveau cas de test de la classe TestCase d'un objet de base de l'objet en cours de test. Cela permet à une classe dérivée d'hériter d'un test créé pour le type de base de cette classe.
  9. Cliquez sur Terminer. L'expert génère un fichier cas de test portant le nom spécifié.

Pour écrire un cas de test

  1. Ajoutez du code aux méthodes SetUp et TearDown dans les templates de cas de test, si nécessaire.
  2. Ajoutez des assertions aux méthodes de test.

Pour exécuter un cas de test dans le lanceur de test en mode GUI

  1. Activez le fichier contenant les classes à exécuter. Sélectionnez le fichier dans le Gestionnaire de projets, puis cliquez sur le bouton Activer.
  2. Choisissez Exécuter > Exécuter. Le lanceur de test en mode GUI démarre immédiatement au lancement de votre application.
  3. Sélectionnez un ou plusieurs tests dans la liste des tests.
  4. Cliquez sur le bouton Exécuter. Les résultats des tests apparaissent dans la fenêtre Résultats de test. Tous les tests signalés au moyen d'une barre verte ont été exécutés avec succès. Tous les tests signalés en rouge ont échoué. Tous les tests signalés en jaune ont été ignorés.
  5. Examinez les résultats des tests.
  6. Corrigez les erreurs et réexécutez les tests.

Voir aussi