Exécuter des tests dans votre processus de génération

Vous pouvez utiliser Team Foundation Build pour exécuter des tests automatisés et analyser l'impact des modifications du code sur vos tests dans le cadre de votre processus de génération.Par exemple, vous pouvez définir un processus de génération à utiliser comme exécution de test de vérification de build planifiée régulièrement par votre équipe.Vous pouvez également exécuter des tests automatisés et effectuer des tâches de test de vos processus de build personnalisé.

[!REMARQUE]

Si vous souhaitez déployer votre application dans le cadre de votre processus de génération, vous devez utiliser un flux de travail de déploiement et de test et un environnement lab.Vous pouvez ensuite exécuter des tests automatisés dans le cadre du flux de travail, ou vous pouvez exécuter des tests séparément après que le flux de travail soit terminé.Pour plus d'informations, consultez Configuration de flux de travail de génération, de déploiement et de test automatisés.

Dans cette rubrique

  • Préparer l'exécution de tests dans votre processus de génération

  • Autorisations requises

  • Utilisez une exécution de test pour exécuter des tests automatisés

  • Choisissez et configurez un système de test

    • Utilisez Visual Studio Test Runner pour exécuter des tests

    • Utiliser MSTest pour exécuter des tests

  • Désactiver temporairement des tests

  • Activer l'analyse d'impact des tests

  • Configurer une infrastructure de test tierce

  • Exécutez les tests depuis un processus de génération personnalisé

  • Pour plus d'informations

Préparer l'exécution de tests dans votre processus de build

Avant d'exécuter des tests dans votre processus de build, vous devrez peut-être préparer tout d'abord vos tests et votre système de génération.

Préparer vos tests: Assurez -vous que votre solution et vos fichiers de test sont archivés dans le contrôle de version.Consultez Utilisation du contrôle de version.

Classez par catégorie et classer par ordre de priorité vos tests (facultatifs): Vous pouvez assigner des catégories et des priorités à vos tests, puis filtrer sur attributs lorsque vous les exécutez dans votre build.Vous pouvez ainsi créer une catégorie de test appelée CI, puis spécifier cette catégorie dans vos builds d'intégration continue.Vous pouvez créer une autre catégorie pour vos tests de vérification de build, intitulée bvt, puis spécifier cette catégorie dans les builds planifiées, telles que votre build nocturne.Pour plus d'informations, consultez Définition de catégories de test pour regrouper vos tests, TestCategoryAttribute et PriorityAttribute.

Préparer votre serveur de builds: Certains types de tests peuvent être exécutés uniquement par un agent de build sur un serveur de builds qui est particulièrement configuré.Par exemple, si vous exécutez des tests codés de l'interface utilisateur, vous devez configurer votre agent de build s'exécute en mode interactif.Avant d'essayer d'utiliser votre processus de génération pour exécuter des tests, assurez-vous qu'ils peuvent être exécutés sur le serveur de build que vous prévoyez d'utiliser.Pour plus d'informations, consultez Permettez à votre agent de build d'exécuter des tests.

Microsoft Visual Studio doit être installé sur le serveur de builds pour les scénarios suivants :

  • Pour générer un projet de test CPP de, vous devez installer Visual Studio Professional ou version ultérieure.

  • Pour exécuter des tests unitaires, des tests codés de l'interface utilisateur, vous devez installer Visual Studio Professional ou version ultérieure.

  • Pour utiliser des données et les adaptateurs de données de diagnostic :

    1. Couverture du code : Visual Studio Premium ou version ultérieure.

    2. Impact de test : Visual Studio Ultimate.

    3. IntelliTrace : Visual Studio Ultimate.

  • Pour générer toutes les applications modernes de style sur un ordinateur de build : Visual Studio Ultimate ou Visual Studio Express pour Windows 8 (le système d'exploitation sur le serveur de builds doit être windows 8).

  • Pour compiler et exécuter les tests pour un projet avec un assembly truqué : Visual Studio Ultimate.

Autorisations requises

Pour que vous puissiez effectuer ces procédures, votre autorisation Modifier la définition de build doit avoir la valeur Autoriser.Pour plus d'informations, consultez Autorisations de Team Foundation Server.

Exécuter des tests automatisés

Vous pouvez effectuer une ou plusieurs séries de tests dans votre build qui est basée sur le modèle par défaut.Pour chaque série, vous pouvez spécifier les paramètres suivants :

  • Quels tests sont exécutés

  • Quels paramètres sont utilisés pour exécuter les tests ;

  • Si la génération doit échouer en cas d'échec d'un test.

Pour exécuter des tests automatisés dans un processus de génération basé sur le modèle par défaut

  1. Dans la barre de menu, choisissez Affichage, cliquez sur Team Explorer.

  2. Dans Explorateur d'équipe, choisissez Icône AccueilAccueil, puis choisissez Icône des buildsBuilds.

  3. Dans la page Builds , choisissez Nouvelle définition de build ou ouvrez le menu contextuel pour la génération ou la définition de build que vous avez choisie, puis choisissez définition de build de modification.

    La fenêtre Nouvelle définition de build s'affiche.

  4. Sous l'onglet Processus de votre définition de build, développez le nœud Basic.

  5. Activez la case à cocher Tests automatisés, puis choisissez le bouton de sélection (...).

    La boîte de dialogue Tests automatisés s'affiche.

  6. Effectuez l'une des étapes suivantes :

    • Pour ajouter un ensemble de tests, sélectionnez Ajouter.

    • Pour modifier un ensemble de tests, choisissez- le, puis choisissez Modifier.

    La boîte de dialogue Ajouter/Modifier un test s'affiche.

  7. (Facultatif) spécifiez Nom de la série de tests.Ce nom apparaît dans la fenêtre de résultats de la génération.Si vous ne spécifiez pas de nom, le système le génère automatiquement.

  8. Si vous voulez que la build échoue si l'un des tests de cette série de tests échoue, cochez la case Faire échouer la build en cas d'échec du test.Si vous n'activez pas cette case à cocher et qu'un test échoue, la build terminée aura le statut Succès partiel.

  9. Choisissez un système de test.Spécifiez comment l'éxécuteur de test s'exécutera à l'aide de les options qui s'affichent.Pour plus d'informations, consultez Choisissez et configurer un exécuteur de test.

Choisissez et configurez un exécuteur de test

Lorsque vous définissez votre processus de build, choisissez un système de test qui fournit les fonctionnalités dont vous avez besoin.

Fonctionnalité

Visual Studio Test Runner

MSTest

Exécutez les tests unitaires écrits dans le Framework Microsoft.VisualStudio.TestTools.UnitTesting .

Oui

Oui

Exécutez une interface utilisateur, génériques, et tests ordonnés

Oui

Oui

Collecte de données de couverture du code

Oui

Oui

Exécutez les tests unitaires écrits avec plusieurs Frameworks telles que NUnit, xUnit, et autres.

Oui

Non

Exécutez les tests unitaires dans des binaires natives (par exemple, C++).

Oui

Non

Exécuter des tests unitaires sur une application Windows Store .

Oui

Non

Exécutez les tests 64 bits

RemarqueRemarque
MSTest peut exécuter les tests 64 bits dans les fichiers binaires compilés avec Any CPU spécifié comme Plateforme.

Oui

Non

Exécutez des tests qui dépendent de faux objets Framework.

Pour plus d'informations sur l'utilisation de faux Frameworks de test pour créer des stubs et des cales dans des applications .NET, voir Isolation du code sous test avec Microsoft Fakes.

Oui

Non

Générer des tests de base de données et exécuter des tests unitaires de base de données

Non

Oui

Rassemblez les données d'analyse d'impacts de tests

Non

Oui

Exécutez les tests de charge et de Web

Non

Oui

[!REMARQUE]

Certaines de ces fonctionnalités fonctionnent uniquement sur un agent de build sur un serveur de builds qui est particulièrement configuré.Pour plus d'informations, consultez Permettez à votre agent de build d'exécuter des tests.

Une fois que vous avez compris les fonctions que votre série de tests requiert, choisissez un système de test :

  • Visual Studio Test Runner

  • MSTest avec un fichier de paramètres de test

  • MSTest avec un fichier de métadonnées

ms253138.collapse_all(fr-fr,VS.110).gifUtilisez Visual Studio Test Runner pour exécuter des tests

Pour utiliser Visual Studio Test Runner pour exécuter des tests à partir d'un processus de génération basé sur le modèle par défaut

  1. Dans Team Explorer, ouvrez Builds, puis ajouter ou modifier une définition de build.

    Dans la page Processus , développez Basic, puis sélectionnez Tests automatisés.Choisissez le bouton de sélection (...) à la fin de la ligne puis choisissez dans Ajouter ou à Modifier une source de test.

  2. Dans la boîte de dialogue Ajoutez/Editez l'exécution de tests , sous Test Runner, choisissez Visual Studio Test Runner.

  3. Spécification de fichier d'assembly de test.

    Spécifiez les fichiers binaires qui contiennent les tests à exécuter.Conservez la valeur par défaut (**\*test*.dll) pour que l'agent de build recherche de manière récursive tous les fichiers .dll qui correspondent à *test*.dll dans le sous-répertoire binaries du répertoire de travail de l'agent de build.Vous avez également la possibilité de modifier la spécification de fichier en fonction de vos besoins.

  4. Si vous souhaitez que la série de tests rassemble et publie des données de couverture du code, affectez Options à activez la couverture du code.

    Sinon, vous pouvez utiliser l'option Personnalisé pour spécifier un fichier .runsettings.Pour plus d'informations, consultez Personnalisation de l'analyse de couverture du code.

  5. Dans le menu Plateforme cible sélectionné pour l'exécution de tests , choisissez x86 pour tester vos binaires 32 bits, ou x64 pour tester vos fichiers binaires 64 bits.

  6. Vous pouvez spécifier les critères pour les tests exécutés.

ms253138.collapse_all(fr-fr,VS.110).gifSpécifiez les critères de test exécutés par Visual Studio Test Runner

Vous pouvez spécifier des paires nom/valeur pour filtrer les tests exécutés.Si vous utilisez des catégories de test et des attributs de priorité pour organiser et mettre des priorités à vos tests, puis vous pouvez filtrer les tests que vous exécutez en utilisant les noms TestCategory et Priorité.

Vous pouvez spécifier des catégories de test selon l'une des méthodes suivantes :

  • Spécifiez une paire nom/valeur à inclure. Supposons que vous possédiez une catégorie de test nommée bvt.Vous définiriez Filtre de cas de test à TestCategory=bvt pour exécuter uniquement les tests de cette catégorie.

  • Spécifiez plusieurs catégories de test à l'aide de || (opérateur "or"). Par exemple, vous pouvez spécifier TestCategory=quick||TestCategory=gui pour exécuter les tests qui font partie de la catégorie quick, les tests qui font partie de la catégorie gui, et ceux qui n'appartiennent pas à la catégorie deep.

ms253138.collapse_all(fr-fr,VS.110).gifUtiliser MSTest pour exécuter des tests

Pour exécuter des tests à l'aide de la commande MSTest dans un processus de génération basé sur le modèle par défaut

  1. Utilisez une série de tests pour exécuter des tests automatisés et effectuer d'autres tâches de test, puis dans la boîte de dialogue ajoutez/série de tests de modification , sous Executeur de tests choisissez :

    • Exécuteur MSTest.exe

      Spécifiez les fichiers binaires qui contiennent les tests à exécuter.Conservez la valeur par défaut (**\*test*.dll) pour que l'agent de build recherche de manière récursive tous les fichiers .dll qui correspondent à *test*.dll dans le sous-répertoire binaries du répertoire de travail de l'agent de build.Vous avez également la possibilité de modifier la spécification de fichier en fonction de vos besoins.

      (Facultatif) Spécifiez un Fichier de paramètres de test pour configurer la façon dont les tests sont exécutés.Pour plus d'informations, consultez Spécification de paramètres de test pour Visual Studio Tests.

    • Fichier de métadonnées de test MsTest (déconseillée)

      Si vous choisissez cette option, cliquez sur Parcourir pour localiser et spécifier le fichier de métadonnées de test que vous souhaitez utiliser.Vous pouvez alors conserver la sélection de la case à cocher Exécuter tous les tests dans ce fichier VSMDI ou désactiver cette case à cocher et sélectionner un ou plusieurs tests dans la liste Listes de tests à exécuter.

      [!REMARQUE]

      Les listes de tests sont déconseillées.Pour plus d'informations, consultez Définition de catégories de test pour regrouper vos tests.

  2. Cliquez sur l'onglet Critères/Argument.

  3. Vou pouvez filtrer les tests à exécuter par catégorie.

    Vous pouvez spécifier des catégories de test selon l'une des méthodes suivantes :

    • Spécifiez une catégorie de test unique à inclure ou exclure. Supposons que vous possédiez une catégorie de test nommée bvt.Vous affectez la valeur bvt à ce paramètre pour exécuter uniquement les tests de cette catégorie ou la valeur !bvt pour exécuter tous les tests à l'exception des tests de cette catégorie.

    • Spécifiez plusieurs catégories de test à l'aide de & (opérateur « et ») et ! (opérateur "not"). Par exemple, vous pouvez spécifier quick&&gui&&!deep pour exécuter uniquement les tests qui font partie des catégories quick et gui, mais qui n'appartiennent pas à la catégorie deep.

    • Spécifiez plusieurs catégories de test à l'aide de | (opérateur "or") et ! (opérateur "not"). Par exemple, vous pouvez spécifier quick|gui|!deep pour exécuter les tests qui font partie de la catégorie quick, les tests qui font partie de la catégorie gui, et ceux qui n'appartiennent pas à la catégorie deep.

  4. (Facultatif) Filtrez les tests à exécuter par priorité.

    ConseilConseil

    Si vous assignez des priorités à vos tests, vous pouvez utiliser ce paramètre pour définir un meilleur équilibre entre test complet et builds plus rapides.

    Affectez à Priorité de test minimale un entier positif inférieur ou égal à Priorité de test maximale ou -1 pour indiquer qu'il n'y a pas de valeur minimale.

    Affectez à Priorité de test maximale un entier positif supérieur ou égal à Priorité de test minimale ou la valeur -1 pour indiquer qu'il n'y a pas de valeur maximale.

  5. Cliquez sur OK.

Désactiver temporairement des tests

Si vous devez désactiver temporairement des tests sans supprimer l'ensemble qui les contient, développez le nœud Avancé et affectez à Désactiver les tests la valeur True.Réaffectez la valeur False lorsque vous voulez à nouveau activer les tests.

Activer l'analyse d'impact des tests

Vos testeurs et développeurs peuvent avoir besoin de savoir de quelle façon les modifications de code comprises dans une build terminée affectent vos tests.Lorsque vous activez l'analyse d'impact des tests dans une build, le système analyse, puis signale comment les modifications de code ont affecté vos tests dans le rapport de la build terminée.

Pour activer l'analyse d'impact des tests dans un processus de génération basé sur le modèle par défaut

  1. Configurez l'analyse d'impact des tests dans un fichier de paramètres de test.

    Pour plus d'informations, consultez Comment : collecter des données pour vérifier quels tests doivent être exécutés après les modifications de code.

  2. Créez une série de tests configurée pour utiliser le fichier de paramètres de test.

    Pour plus d'informations, consultez Exécuter des tests automatisés plus haut dans cette rubrique.

  3. Développez le nœud Avancé et assurez-vous que le paramètre Analyser l'impact des tests a la valeur True et que Désactiver les tests a la valeur False.

Définir plusieurs séries de tests

Vous pouvez définir autant de séries de tests que vous le souhaitez afin de satisfaire les exigences de processus de génération et de test de votre équipe.Par exemple, vous devrez peut-être définir plusieurs séries de tests dans une seule build dans les scénarios suivants :

  • Vous souhaitez utiliser l'éxécuteur de test Visual Studio pour tester une solution qui produit des binaires à 32 bits et 64 bits.

  • Vous avez des tests qui peuvent être exécutés par Visual Studio Test Runner, et d'autres tests qui peuvent être exécutés uniquement par MSTest.

  • Vous possédez deux jeux de tests :

    • Un jeu de tests principaux de priorité élevée qui doivent réussir.Vous définissez une série de tests qui inclut une Priorité de test minimale de 2 et une Priorité de test maximale de 3.Vous activez la case à cocher Faire échouer la build en cas d'échec du test.

    • Un jeu de tests moins importants que vous voulez exécuter mais qui ne sont pas requis pour que la build soit utilisable.Vous définissez une série de tests qui inclut une Priorité de test minimale de 2 et une Priorité de test maximale de 3.Vous n'activez pas la case à cocher Faire échouer la build en cas d'échec du test.

  • Vous souhaitez exécuter le même jeu de tests avec des paramètres de test différents.

  • Vous voulez que le jeu principal d'assemblys que vous générez soit soumis à une couverture du code.Toutefois, vous possédez un autre jeu d'assemblys d'une source externe qui ne requiert pas de couverture du code.Pour activer ce genre de processus, vous pouvez utiliser deux séries de tests configurées pour utiliser deux groupes de fichiers de paramètres de test.

Activez une infrastructure de test tierce unitaire sur un contrôleur de build

Votre processus de génération peut exécuter des tests unitaires sur des infrastructures de test tierces unitaire uniquement si vous avez fourni à votre contrôleur de build l'accès aux assemblys tiers d'infrastructure.

  1. Recherchez, ou si nécessaire, spécifiez le chemin d'accès du contrôleur de build aux assemblys personnalisés.

  2. Recherchez, ou si nécessaire, créez un mappage du dossier d'assembly personnalisé sur le serveur à un dossier local dans votre espace de travail.

  3. Obtenez un plug-in tiers de test unitaire.Vous pouvez rechercher des liens à certains d'entre eux ici : Liste du plug-in du test unitaire.

  4. Renommez le fichier du plug-in .vsix dans un fichier .zip.Par exemple, utilisez l'invite de commandes comme suit :

    C:\Downloads>ren NUnitTestAdapter.vsix NUnitTestAdapter.zip
    
  5. Décompressez le contenu du fichier .zip dans le dossier local de l'espace de travail que vous avez mappé à l'étape 2.

  6. Archivez les fichiers.

    ConseilConseil

    Pour les stratégies fonctionnent avec tiers fichiers binaires dans le contrôle de version, consultez l' Utilisation des tiers binaires que votre code ne génère pas.

[Visual Studio 2012,1]inclut une amélioration aux infrastructures de test tierces unitaire automatisent leur inclusion dans les définitions de Build.

Mise en gardeAttention

Vous devrez peut-être installer la version la plus récente des modules de NuGet pour que l'infrastructure de test unitaire 3rd-party solution garantisse l'infrastructure inclut l'amélioration de définition de build.

Activez une infrastructure de test tierce unitaire sur un contrôleur de build ([Visual Studio 2012,1]

  1. Dans l'explorateur de solutions, ouvrez le menu contextuel sur le projet de test et choisissez Gérez les ensembles de NuGet.

  2. Dans la boîte de dialogue de modules de NuGet de gérer, dans la colonne de gauche, sélectionnez En ligne.

  3. Sélectionnez le package de NuGet pour la troisième infrastructure de test unitaire et choisissez Installer.

  4. Une fois le module de NuGet soit installer terminé, choisissez Fermer.

  5. Dans l'explorateur de solutions, ouvrez le menu contextuel sur la solution et sélectionnez Ajouter la solution au contrôle de code source.

  6. Vous pouvez désormais mettre en file d'attente la build et vos tests avec la troisième infrastructure de test unitaire s'exécutent automatiquement.

Utiliser des tests dans un processus de génération personnalisé

Si votre équipe a besoin d'un processus de génération avec des fonctions plus profondément personnalisées, vous pouvez exécuter des tests et effectuer d'autres tâches liés aux tests depuis votre processus de génération personnalisé.Pour plus d'informations, consultez :

Pour plus d'informations

Définir un processus de build basé sur le modèle par défaut fournit plus d'informations sur la création d'une définition de build qui est basée sur le modèle par défaut.Cette rubrique inclut des informations sur les paramètres de nombre de bits Plateforme que vous pouvez utiliser lors de la compilation votre code.

Conseils pour des flux de travail de génération, de déploiement et de test fournit des informations sur le déploiement des tests d'une application et de l'exécution dans un environnement lab à l'aide de votre processus de génération.

Exécution de tests dans Microsoft Test Manager fournit plus d'informations sur la façon d'exécuter des tests.

Voir aussi

Concepts

Définir votre processus de build

Création et gestion de tests dans Microsoft Test Manager