Aperçu de Xcode: Utilisation des tests unitaires

Xcode prend en charge trois principaux types de tests. Les tests fonctionnels se concentrent sur la fonctionnalité du code. Les tests de performance se concentrent sur la mesure du temps d’exécution. Les tests d’interface utilisateur se concentrent sur les flux à travers l’interface utilisateur. Les tests fonctionnels et de performances sont des fonctions que vous écrivez. Chaque fonction configure un environnement pour le test, exécute les parties ciblées de l’application et détruit l’environnement de test. Les tests d’interface utilisateur sont des enregistrements que vous effectuez lorsque vous utilisez votre application.

Le type de test fonctionnel le plus courant est le test unitaire. Une unité de code est le plus petit composant testable de votre projet — par exemple, une méthode dans une classe ou un ensemble de méthodes qui atteignent un objectif essentiel. Les tests unitaires sont souvent utilisés pour détecter les régressions introduites par les modifications de code apportées à un projet. Certains développeurs écrivent d’abord des tests unitaires, puis implémentent des méthodes qui réussissent les tests.

Les tests de performance mesurent le temps qu’il faut à votre application pour effectuer une tâche sur différents types d’appareils. Xcode suit les temps pour différentes configurations et vous choisissez des lignes de base parmi les valeurs mesurées.

Un scénario de test exerce une unité de code d’une manière spécifique ou mesure une partie spécifique des performances de votre application ; si le résultat du test est différent du résultat attendu, le scénario de test échoue. Une suite de tests est composée d’un ensemble de cas de test.

Lorsque vous créez un projet ou une cible, Xcode inclut une cible de test unitaire dans le schéma qui construit l’application. Le fichier d’implémentation de la cible comprend des talons pour les méthodes setUptearDown et testExample. Terminez ces implémentations de talon et ajoutez d’autres codes si nécessaire pour effectuer des tests unitaires sur votre application.

Exécutez tous les tests en choisissant Product >Test. Cliquez sur l’icône du navigateur de tests pour afficher l’état et les résultats des tests. Vous pouvez ajouter une cible de test à un projet (ou ajouter une classe à un test) en cliquant sur le bouton Ajouter (+) dans le coin inférieur gauche du navigateur de test. Pour afficher le code source d’un test particulier, sélectionnez-le dans la liste des tests. Le fichier s’ouvre dans l’éditeur de code source.

image: ../art/XC_O_about_test_navigator_2x.png

Pour exécuter une suite de tests, cliquez sur la flèche à droite du nom. Pour exécuter un sous-ensemble de méthodes de test, sélectionnez-les dans le navigateur de test et choisissez Product >Exécuter une action > Exécuter des méthodes de test. Pour exécuter une méthode de test individuelle, cliquez sur la flèche à droite du nom de la méthode. Choisissez Product >Test pour exécuter tous les tests du schéma actif.

Lorsqu’un test réussit, un losange vert avec une coche indiquant le succès apparaît à droite du nom du test. Lorsqu’un test échoue, un losange rouge avec un X indiquant l’échec apparaît à droite du nom du test et le problème est affiché dans le navigateur de problèmes. Pour voir le problème, cliquez sur le bouton Navigateur du problème (image:../art/XG_NavArea_Issue_icon.pdf) dans la barre de navigation.

Pour afficher uniquement les tests ayant échoué, cliquez sur le bouton Test échoué (image:../ art / FailedTestIcon.pdf) en bas du navigateur de test. Sélectionnez une méthode ayant échoué pour l’examiner dans l’éditeur de code source. Après avoir résolu la raison de l’échec, cliquez sur l’indicateur de test échoué (un losange rouge avec un X) pour relancer le test.

Affichez les méthodes de test associées dans un éditeur assistant en choisissant la catégorie Classes de test ou Appelants de test dans le menu contextuel de l’Assistant.

Pour plus de détails sur l’écriture, l’exécution et l’affichage des tests, voir Tests avec Xcode.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.