Partager via


Procédure pas à pas : création et exécution d'un test unitaire Smart Device

Mise à jour : novembre 2007

Cette procédure pas à pas explique comment créer, exécuter et personnaliser une série de tests en utilisant Outils de test Team System pour des projets Smart Device. Vous démarrez avec une application Smart Device C# en cours de développement. Vous créez ensuite un projet de test et un test unitaire, avant d'exécuter le test et d'examiner les résultats.

Remarque :

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Dans cette procédure pas à pas, vous allez effectuer les tâches suivantes :

  • Ouvrir un projet existant et créer une méthode

  • Créer un test unitaire et un projet de test Smart Device

  • Consulter la configuration de série de tests

  • Exécuter un test unitaire

  • Exécuter un test unitaire à partir d'une invite de commandes

Composants requis

Vous devez exécuter les procédures suivantes, Procédure pas à pas : création d'applications Windows Forms pour un appareil, avant d'aborder cette procédure pas à pas. La procédure pas à pas préalable installe .NET Compact Framework 2.0 sur l'émulateur Pocket PC 2003 requis pour exécuter cette procédure pas à pas. Laissez la fenêtre de l'émulateur ouverte ou enregistrez l'état de l'émulateur. Pour plus d'informations, consultez Fichiers d'état enregistré.

Ouvrir un projet existant et créer une méthode

Pour ouvrir un projet existant et créer une méthode

  1. Démarrez Visual Studio

  2. Dans le menu Fichier, pointez sur Ouvrir, puis cliquez sur Projet/Solution.

    La boîte de dialogue Ouvrir un projet s'affiche.

  3. Naviguez vers le projet DeviceSample que vous avez créé dans la procédure pas à pas préalable, puis cliquez sur OK.

    Le projet DeviceSample est affiché dans l'Explorateur de solutions.

  4. Cliquez avec le bouton droit sur Form1.cs (C#) ou Form1.vb (Visual Basic) dans l'Explorateur de solutions, puis cliquez sur Afficher le code pour ouvrir le fichier dans l'Éditeur de code.

  5. Positionnez le curseur à l'intérieur de la classe Form1.

  6. Insérez le code suivant :

    public int Add(int a, int b) {return a + b;}
    
    Public Function Add(ByVal a As Integer, ByVal b As Integer) As Integer 
        Return a + b
    End Function 'Add
    
  7. Dans le menu Générer, cliquez sur Générer la solution.

    Vous avez maintenant un projet nommé DeviceSample qui contient le code source à tester. L'espace de noms pour DeviceSample, DeviceSample, contient la classe publique Form1 dont vous allez tester la méthode au cours des procédures suivantes.

Créer un test unitaire et un projet de test Smart Device

Pour créer un test unitaire et un projet de test Smart Device

  1. Cliquez avec le bouton droit sur Form1.cs (C#) ou Form1.vb (Visual Basic) dans l'Explorateur de solutions, puis cliquez sur Afficher le code pour ouvrir le fichier dans l'Éditeur de code.

    Remarque :

    Le projet DeviceSample contient le code à tester, également appelé code sous test (ou CUT, Code Under Test).

  2. Faites défiler la classe Form1 pour atteindre la méthode Add.

  3. Cliquez avec le bouton droit sur la méthode Add et sélectionnez Créer des tests unitaires.

    La boîte de dialogue Créer des tests unitaires s'affiche.

    Dans le volet Sélection actuelle, une arborescence affiche la hiérarchie de classes et de membres de l'assembly qui contient la classe Form1. Vous pouvez utiliser cette page pour générer des tests unitaires pour toute sélection de ces membres et pour choisir un projet de test dans lequel vous souhaitez placer les tests unitaires générés.

    Dans l'arborescence, seule la méthode Add est sélectionnée. Maintenez-la sélectionnée.

  4. Pour Projet de sortie, cliquez sur Créer un nouveau projet de test Smart Device Visual C#.

    Remarque :

    Le langage du projet de test ne doit pas nécessairement correspondre au langage du projet. À titre d'exemple, vous pouvez créer un projet de test Smart Device Visual C# à partir d'un projet Visual Basic.

  5. Cliquez sur Paramètres.

    La boîte de dialogue Paramètres de génération des tests s'affiche. Dans le groupe Paramètres d'affectation des noms, vous pouvez modifier la manière dont les fichiers de test, les classes de test et les méthodes de test sont nommés à mesure qu'ils sont générés. Dans le groupe Général, vous pouvez modifier d'autres aspects de génération de test. Conservez les valeurs par défaut de ces paramètres, puis cliquez sur OK.

  6. Dans la boîte de dialogue Créer des tests unitaires, cliquez sur OK.

    La boîte de dialogue Nouveau projet de test s'affiche.

  7. Acceptez le nom par défaut, puis cliquez sur Créer.

    Un projet nommé TestProject1 est alors créé. Il contient le test unitaire, un fichier nommé DeviceSample.vsmdi avec des informations sur les listes de tests et les tests, ainsi qu'un fichier nommé SmartDeviceTestRun.testrunConfig qui contient des informations sur l'emplacement où le test s'exécutera et comment il s'exécutera.

    À ce projet de test est ajouté un fichier nommé Form1Test.cs qui contient une classe de test.

    Remarque :

    L'attribut TestMethod() est assigné automatiquement à chaque méthode de test. Chaque test correspond à une seule méthode du code sous test à tester. Les méthodes de test se trouvent dans une classe de test à laquelle est assigné l'attribut TestClass().

  8. Dans Form1Test.cs, spécifiez des valeurs pour les variables à tester. Accédez par défilement à la méthode AddTest, où vous voyez trois lignes // TODO qui indiquent les variables à définir, à savoir a, b et expected.

  9. Définissez les valeurs suivantes :

    int a = 4;
    int b = 5;
    int expected = 9;
    

    Cela spécifie que la valeur de retour 9 est attendue lors de l'appel de la méthode avec les valeurs 4 et 5.

  10. Transformez cette instruction Assert en commentaire.

    Assert.Inconclusive("Verify the correctness of this test method.");
    

    Le reste de l'instruction Assert compare le résultat attendu (9) avec le résultat réel d'un appel à la méthode Add de la classe Form1. Si les deux valeurs sont différentes, l'instruction Assert retourne False, ce qui fait échouer le test.

  11. Enregistrez le fichier Form1Tests.cs.

    Vous avez créé un fichier de code source qui contient des tests pour le projet DeviceSample. Vous êtes maintenant prêt à exécuter les tests de la classe Form1Test sur le code du projet DeviceSample.

Consulter la configuration de série de tests

Pour consulter la configuration de série de tests

  1. Double-cliquez sur le fichier nommé SmartDeviceTestRun.testrunConfig dans l'Explorateur de solutions.

  2. Cliquez sur Hosts.

  3. Vérifiez que Host type a la valeur Smart Device, que Platform a la valeur Pocket PC 2003 et que Device a la valeur Pocket PC 2003 SE Emulator.

  4. Cliquez sur Fermer pour quitter.

    Vous avez consulté la configuration de série de tests qui spécifie le contexte d'exécution des tests.

Exécution d'un test unitaire

Pour exécuter et personnaliser un test unitaire

  1. Dans le menu Test, pointez sur Fenêtres, puis cliquez sur Affichage de tests.

    La fenêtre Affichage de tests s'affiche.

  2. Cliquez avec le bouton droit sur AddTest, puis cliquez sur Exécuter la sélection.

    Visual Studio déploie le test sur l'émulateur Smart Device et l'exécute. Si la fenêtre Résultats des tests n'est pas déjà ouverte, elle s'ouvre maintenant.

    Dans la colonne Résultat de la fenêtre Résultats des tests, l'état du test est affiché sous la forme En cours d'exécution pendant que le test s'exécute. Une fois la série de tests terminée, le résultat devient Succès.

    Remarque :

    Lors du déploiement des tests, Visual Studio n'assure pas automatiquement le déploiement et l'installation du .NET Compact Framework ou de SQL Server Compact 3.5 sur l'appareil ou l'émulateur cible. Ils doivent être installés sur votre émulateur ou sur votre appareil avant d'effectuer un test. Pour plus d'informations, consultez Comment : installer le .NET Compact Framework sur un appareil et Comment : installer Microsoft SQL Server Compact 3.5 sur un appareil de type Smart Device.

  3. Dans la fenêtre Résultats des tests, double-cliquez sur la ligne qui représente le test.

    La page Détails des résultats du test s'ouvre ; elle contient des informations relatives aux résultats du test.

    Vous avez exécuté la méthode AddTest générée à partir de votre classe de test Form1Test et consulté les résultats.

Exécuter un test unitaire à partir d'une invite de commandes

Pour exécuter et personnaliser un test unitaire

  1. Cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft Visual Studio 2008, puis sur Visual Studio Tools, et cliquez sur Invite de commandes de Visual Studio 2008.

    L'invite de commandes s'ouvre dans le dossier : lecteur:\Program Files\Microsoft Visual Studio 9.0\VC.

  2. Accédez au dossier qui contient l'assembly généré à partir de votre projet de test.

    Pour cela, basculez d'abord vers votre dossier solution. Pour la solution DeviceSample créée dans la procédure pas à pas préliminaire, il s'agit du dossier : <lecteur>:\Utilisateurs\<NomUtilisateur>\Mes documents\Visual Studio\Projects\DeviceSample. Basculez ensuite vers le dossier de votre projet de test en tapant la commande suivante à l'invite de commandes :

    cd TestProject1\bin\Debug

    Remarque :

    Vous pouvez également exécuter MSTest.exe à partir de tout dossier en spécifiant le chemin d'accès complet.

    Ce dossier contient le projet de test que vous avez créé dans les procédures de création et d'exécution de tests unitaires. L'assembly du projet de test, TestProject1.dll, contient quelques tests unitaires.

    Remarque :

    Votre projet de code de production et votre projet de test produiront des assemblys distincts. Prenez soin d'exécuter l'utilitaire en ligne de commande sur l'assembly du projet de test, et non sur l'assembly de votre projet de code de production.

  3. Utilisez l'utilitaire en ligne de commande pour tester l'application.

    Tapez le texte suivant à l'invite de commandes :

    MSTest /testcontainer:TestProject1.dll /runconfig:..\..\..\SmartDevicetestrun.testrunconfig

    Remarque :

    Lorsque vous exécutez des tests unitaires sur des appareils de type Smart Device, vous devez spécifier l'option /runconfig.

    Cette commande exécute les trois tests dans l'assembly et retourne des résultats semblables aux suivants :

    Chargement de testproject1.dll...

    Démarrage de l'exécution...

    Résultats Tests de niveau supérieur

    ------- ---------------

    Réussite TestProject1.Form1Test.AddTest

    1/1 test(s) réussi(s)

    Résumé

    -------

    Série de tests terminée.

    Réussi  1

    ---------

    Total 1

    Fichier de résultats : <chemin>\<nom de série de tests>.trx

    Configuration de série de tests : Configuration de série de tests par défaut

    Remarque :

    Le fichier .trx généré par l'exécution de mstest.exe peut être ouvert dans Visual Studio pour effectuer une analyse plus approfondie des résultats. Pour plus d'informations sur l'ensemble complet d'options dont vous disposez avec la commande MSTest, consultez Options de ligne de commande MSTest.exe.

    L'utilitaire en ligne de commande MSTest.exe est particulièrement utile pour automatiser des séries de tests ou pour exécuter des fichiers batch.

Voir aussi

Concepts

Infrastructure de test unitaire

Autres ressources

Utilisation des tests unitaires

Outils de tests pour les projets Smart Device