Partager via


Comment : configurer le déploiement d'un test

Le moteur de test pour Visual Studio Ultimate peut exécuter les tests soit dans le dossier dans lequel vous les avez créés ou générés, soit dans un dossier de déploiement distinct. Si vous déployez vos tests dans un dossier distinct, vous pouvez continuer à générer votre solution pendant l'exécution des tests.

Les fichiers et les dossiers suivants sont copiés vers le dossier de déploiement avant l'exécution des tests :

  • Fichier d'assembly de test

  • Tous les assemblys dépendants

  • Fichiers que vous avez spécifiés, tels que des fichiers XML et des fichiers de configuration, dont dépendent les tests. Vous pouvez configurer le déploiement en spécifiant des éléments de déploiement supplémentaires à copier et en modifiant le dossier de déploiement.

Le dossier de déploiement peut être local ou distant. Le déploiement de test distant a lieu lorsque vous travaillez avec des contrôleurs d'agent de test et des agents de test. Pour plus d'informations sur le déploiement distant, consultez Comment : exécuter un test à l'aide des contrôleurs de test et des agents de test.

Lorsque vous exécutez les tests d'une solution, Visual Studio crée des fichiers de déploiement sous un dossier nommé TestResults dans la hiérarchie de la solution. Si le dossier TestResults n'existe pas, Visual Studio le crée.

Notes

Si vous utilisez l'IDE de Visual Studio, ce dossier est créé directement sous le dossier de solution ; si vous n'utilisez pas l'IDE de Visual Studio, le dossier TestResults est créé sous le dossier actif.

Chaque fois que vous démarrez une série de tests, Visual Studio crée, sous le dossier TestResults, un ensemble de dossiers à utiliser exclusivement pour cette série de tests. Dans l'exemple présenté dans l'illustration suivante, le premier dossier sous TestResults est "<NomUtilisateur>@<NomOrdinateur><date> <heure>". C'est le modèle utilisé pour nommer chacun de ces dossiers.

Dossier de déploiement local en vue de tests

Dossiers de déploiement pour une série de tests locale

Comme indiqué dans l'illustration précédente, la solution ClassLibrary1 contient deux projets, ClassLibary1 et TestProject1. Des tests ayant été exécutés, cette solution contient également un dossier nommé TestResults. Le dossier TestResults contient un fichier de résultats des tests pour chaque série de tests. L'extension de ce fichier de résultats des tests est .trx.

D'autres dossiers sont créés sous le dossier TestResults, comme décrit ici :

  • Dossier de série de tests. Directement sous TestResults se trouve un dossier pour chaque série de tests qui a été démarrée. Le dossier de série de tests a le même nom que la série de tests, comme affiché dans les fenêtres Résultats des tests et Séries de tests. Le format par défaut pour le nom de série de tests est <NomUtilisateur>@<NomOrdinateur> <date> <heure>. Le dossier de série de tests contient également les scripts de nettoyage qui sont exécutés avant et après l'exécution des tests.

  • Dossier et sous-dossiers de sortie. Chaque dossier de série de tests contient un dossier appelé Out. Le dossier Out est le dossier de déploiement réel. Les assemblys et autres fichiers ou dossiers requis pour la série de tests sont copiés dans le dossier <solution>\TestResults\<série_tests>\Out chaque fois qu'une série de tests est démarrée.

  • Dossier et sous-dossiers d'entrée. Chaque dossier de série de tests contient un dossier appelé In. Lorsque certains résultats des tests sont produits, ils sont stockés dans le dossier In ou dans un sous-dossier. Par exemple, les résultats de la couverture du code sont stockés dans un fichier nommé data.coverage dans un sous-dossier portant le nom de l'<id de la série de tests>\<ordinateur sur lequel les tests ont été exécutés>.

Définition d'options de déploiement

Il existe plusieurs façons de contrôler le déploiement de tests :

Sélectionner les éléments de déploiement. Pour le déploiement de tests locaux, le moteur de test copie les éléments du déploiement (les fichiers et les dossiers) dans un dossier sur votre ordinateur avant d'exécuter des tests. Vous pouvez ajouter des fichiers et des dossiers à déployer dans votre fichier de paramètres de test. Pour accéder aux étapes correspondantes, consultez Créer des paramètres de test pour exécuter des tests automatisés à partir de Visual Studio ou Créer des paramètres de test pour les tests automatisés dans le cadre du plan de test.

  • Pour plus d'informations sur l'ordre dans lequel les éléments de déploiement sont copiés, consultez Ordre de déploiement.

Sélectionner des éléments de déploiement pour un seul test

Les procédures suivantes s'appliquent à une seule méthode de test. Elles déterminent les fichiers que Visual Studio Ultimate copie avant d'exécuter ce test spécifique.

Pour déployer des éléments pour un seul test à l'aide de la propriété Éléments de déploiement

  1. Sélectionnez un test dans la fenêtre Affichage des tests ou Explorateur de tests.

  2. Appuyez sur F4.

    La fenêtre Propriétés du test s'affiche.

  3. Cliquez sur la propriété Éléments de déploiement.

    Un bouton de sélection (...) apparaît dans la colonne Valeur.

  4. Cliquez sur le bouton de sélection.

    La boîte de dialogue Éditeur de collections String s'affiche.

  5. Avant que le test ne soit exécuté, tapez un chemin d'accès à un dossier ou un fichier que vous souhaitez copier dans le dossier de déploiement du test. Appuyez sur Entrée et tapez des chemins d'accès supplémentaires pour spécifier des dossiers et des fichiers supplémentaires à déployer.

    Notes

    Vous pouvez utiliser des variables d'environnement dans les chemins d'accès pour les éléments de déploiement. Pour voir un exemple, consultez DeploymentItemAttribute.

  6. Cliquez sur OK.

    Les éléments de déploiement que vous avez spécifiés seront déployés en plus de ceux spécifiés dans la configuration de série de tests utilisée pour le test.

    Notes

    Pour les tests unitaires, du code qui spécifie ces éléments de déploiement est écrit dans le code source du test, dans l'attribut DeploymentItem.

Pour déployer des éléments pour un seul test à l'aide de l'attribut DeploymentItem

  1. Ouvrez le fichier de code source qui contient un test unitaire.

  2. Sous l'attribut TestMethod, ajoutez un attribut DeploymentItem.

  3. Pour le paramètre de l'attribut DeploymentItem, spécifiez le dossier ou le fichier que vous souhaitez déployer pour ce test. Vous pouvez utiliser un chemin d'accès absolu ou relatif. Les chemins d'accès relatifs sont relatifs au paramètre RelativePathRoot qui figure dans le fichier .testrunconfig.

    Exemple en C# :

    [TestMethod]

    [DeploymentItem("MyTestProject\\testdatasource.mdb")]

    public void TestMethod1()

    {

    // TODO: Add test logic here

    }

    Exemple en Visual Basic :

    <TestMethod()> _

    <DeploymentItem("MyTestProject\\testdatasource.mdb")> _

    Public Sub TestMethod1()

    ' TODO: Add test logic here

    End Sub

    Notes

    Vous pouvez utiliser l'attribut DeploymentItem uniquement sur les méthodes de test, et non sur les classes de test.

  4. Enregistrez et fermez le fichier de code source du test unitaire.

    Lorsque vous exécutez le test, les éléments de déploiement que vous avez spécifiés seront déployés en plus de ceux spécifiés dans la configuration de série de tests utilisée pour le test.

Ordre de déploiement

Les éléments de déploiement sont copiés dans un ordre spécifique. Les éléments de déploiement qui sont copiés ultérieurement remplacent ceux qui ont été copiés précédemment, s'ils ont le même nom. Par exemple, les éléments de déploiement spécifiés dans vos paramètres de test sont copiés plus tard que les éléments spécifiés pour un test donné.

La liste suivante est classée de la priorité la plus élevée à la plus basse. Autrement dit, les éléments répertoriés en premier remplaceront les éléments répertoriés plus bas. Dans la liste suivante, certains éléments (parmi lesquels l'assembly de test, les binaires instrumentés et les assemblys dépendants) sont déployés automatiquement dans le dossier de déploiement.

  1. Fichiers qui composent le test. Ceux-ci incluent les assemblys de test pour les tests unitaires, les fichiers texte ou .mht pour les tests manuels ou d'autres types de fichiers pour d'autres types de tests (tels que les tests génériques).

  2. Binaires instrumentés. Il s'agit de fichiers binaires qui ont été instrumentés, par exemple pour activer la couverture du code.

    Notes

    Si vous utilisez l'instrumentation sur place, les binaires sont d'abord instrumentés, puis copiés dans le répertoire de déploiement ; sinon, ils sont d'abord copiés, puis instrumentés. L'instrumentation sur place est le paramètre par défaut pour les tests qui sont exécutés localement. Vous pouvez modifier ce paramètre dans vos paramètres de test.

  3. Éléments spécifiés dans vos paramètres de test.

  4. Dépendances, par exemple les fichiers de configuration de l'application et les assemblys dépendants.

  5. Éléments de déploiement par test. Ceux-ci incluent les éléments spécifiés pour la méthode de test.

Voir aussi

Référence

DeploymentItemAttribute

Concepts

Instrumentation et nouvelle signature d'assemblys

Autres ressources

Créer des paramètres de test pour exécuter des tests automatisés à partir de Visual Studio