Comment : exécuter des tests unitaires de base de données à partir de Team Foundation Build
Vous pouvez utiliser Team Foundation Build pour exécuter vos tests unitaires de base de données dans le cadre d'un test de vérification de build (BVT). Vous pouvez configurer les tests unitaires de base de données pour déployer la base de données, générer des données de test, puis exécuter les tests sélectionnés. Si vous n'êtes pas familiarisé avec Team Foundation Build, vous devez passer en revue les informations suivantes avant de suivre les procédures de cette rubrique :
Création et définition de tests unitaires de base de données
Comment : configurer et exécuter des tests planifiés après la génération de votre application
Avant d'utiliser ces procédures, vous devez configurer votre environnement de travail en effectuant les tâches suivantes :
Installez Team Foundation Build et contrôle de version Team Foundation. Vous devez probablement installer Team Foundation Build et contrôle de version Team Foundation sur des ordinateurs différents.
Connectez-vous à une instance de Visual Studio Team Foundation Server. Pour plus d'informations sur la façon de se connecter à Team Foundation Server, consultez How to: Connect to a Team Project in Team Foundation Server.
Après avoir configuré votre environnement de travail, vous devez effectuer les tâches suivantes dans Visual Studio Premium ou Visual Studio Ultimate :
Créer un projet de base de données.
Importer ou créer le schéma et les objets pour le projet de base de données.
Configurer les propriétés de projet de base de données pour la génération et le déploiement.
Créer un ou plusieurs tests unitaires de base de données.
Ajouter la solution qui contient le projet de base de données et le projet de test unitaire de base de données au contrôle de version, puis archiver tous les fichiers.
Les procédures de cette rubrique expliquent comment créer une définition de build pour exécuter vos tests unitaires de base de données dans le cadre d'une série de tests automatisés :
Configurer des paramètres de test pour réaliser des tests unitaires de base de données sur un agent de build x64
Assignation de tests à une catégorie de test (facultatif)
Modification du projet de test
Archivage de la solution
Créer une définition de build
Exécuter la nouvelle définition de build
Exécution de tests unitaires de base de données sur un ordinateur de build
Lorsque vous exécutez des tests unitaires de base de données sur un ordinateur de build, il est possible que ces tests ne puissent pas trouver les fichiers projet de base de données (.dbproj) ou les plans de génération de données (.dgen). Ce problème est dû au fait que le fichier app.config fait référence à ces fichiers à l'aide de chemins d'accès relatifs. En outre, les tests unitaires de base de données peuvent échouer s'ils ne peuvent pas trouver l'instance de SQL Server que vous souhaitez utiliser pour les exécuter. Ce problème peut se produire si les chaînes de connexion stockées dans le fichier app.config ne sont pas valides à partir de l'ordinateur de build.
Pour résoudre ces problèmes, vous devez spécifier une section de substitution dans votre app.config qui remplace app.config par un fichier de configuration spécifique à votre environnement Team Foundation Build. Pour plus d'informations, consultez la section Modification du projet de test, située plus loin dans cette rubrique.
Configurer des paramètres de test pour réaliser des tests unitaires de base de données sur un agent de build x64
Avant de pouvoir exécuter des tests unitaires de base de données sur un agent de build x64, vous devez configurer vos paramètres de test pour modifier la plateforme de processus hôte.
Pour spécifier la plateforme de processus hôte
Ouvrez la solution qui contient le projet de test pour lequel vous souhaitez configurer des paramètres.
Dans l'Explorateur de solutions, dans le dossier Éléments de solution, double-cliquez sur le fichier Local.testsettings.
La boîte de dialogue Paramètres de test apparaît.
Dans la liste, cliquez sur Hôtes.
Dans le volet d'informations, dans Plateforme de processus hôte, cliquez sur MSIL pour configurer vos tests à exécuter sur un agent de build x64.
Cliquez sur Appliquer.
Assignation de tests à une catégorie de test (facultatif)
En général, lorsque vous créez une définition de génération pour l'exécution de tests unitaires, vous spécifiez une ou plusieurs catégories de test. Tous les tests des catégories spécifiées sont exécutés lors de l'exécution de la génération.
Pour assigner des tests à une catégorie de test
Ouvrez la fenêtre Affichage des tests.
Sélectionnez un test.
Dans le volet de propriétés, cliquez sur Catégories de test, puis sur le bouton de sélection (...) dans la colonne la plus à droite.
Dans la fenêtre Catégorie de test, dans la zone Ajouter une nouvelle catégorie, tapez un nom pour votre nouvelle catégorie de test.
Cliquez sur Ajouter, puis sur OK.
La nouvelle catégorie de test sera assignée à votre test et sera disponible pour les autres tests via leurs propriétés.
Modification du projet de test
Par défaut, Team Foundation Build crée un fichier de configuration à partir du fichier app.config du projet lorsqu'il génère le projet des tests unitaires. Les chemins d'accès au plan de génération de données et au projet de base de données sont stockés en tant que chemins d'accès relatifs dans le fichier app.config. Les chemins d'accès relatifs qui fonctionnent dans Visual Studio ne fonctionneront pas, car Team Foundation Build place les fichiers de build dans des emplacements différents par rapport à l'emplacement où vous exécutez les tests unitaires. En outre, votre fichier app.config contient les chaînes de connexion spécifiant la base de données à tester. Un fichier app.config distinct est également nécessaire pour Team Foundation Build si les tests unitaires doivent se connecter à une base de données autre que celle utilisée à la création du projet de test. En effectuant les modifications décrites dans la procédure suivante, vous pouvez configurer votre projet de test et le serveur de build de sorte que Team Foundation Build utilise une configuration différente.
Important
Vous devez exécuter cette procédure pour chaque projet de test (.vbproj ou .vsproj).
Pour spécifier un fichier app.config pour Team Foundation Build
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier .app.config puis cliquez sur Copier.
Cliquez avec le bouton droit sur le projet de test, puis cliquez sur Coller.
Cliquez avec le bouton droit sur le fichier appelé Copie de app.config et cliquez sur Renommer.
Tapez BuildComputer.dbunitttest.config et appuyez sur ENTRÉE, où OrdinateurBuild est le nom de l'ordinateur sur lequel s'exécute votre agent de build.
Double-cliquez sur BuildComputer.dbunitttesting.config.
Le fichier de configuration s'ouvre dans l'éditeur.
Accédez au chemin d'accès relatif aux fichiers .dgen et .dbproj en ajoutant un niveau de dossier pour le dossier Sources et un sous-dossier avec le même nom que la solution. Par exemple, si le fichier de configuration contient initialement l'entrée suivante :
<DatabaseDeployment DatabaseProjectFileName="..\..\..\SalesDB\SalesDB.DBProj" Configuration="Debug" />
Mettez à jour le fichier comme suit :
<DatabaseDeployment DatabaseProjectFileName="..\..\..\Sources\SalesDB\SalesDB.DBProj" Configuration="Debug" />
Répétez ce processus pour le fichier de génération de données, si un fichier a été spécifié.
Lorsque vous avez terminé, votre fichier BuildComputer.dbunitttest.config doit ressembler à l'exemple suivant :
<DatabaseUnitTesting> <DatabaseDeployment DatabaseProjectFileName="..\..\..\Sources\UnitTest\UnitTest\UnitTest.dbproj" Configuration="Debug" /> <DataGeneration ClearDatabase="true" /> <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=UnitTestB;Integrated Security=True;Pooling=False" CommandTimeout="30" /> <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=UnitTestB;Integrated Security=True;Pooling=False" CommandTimeout="30" /> </DatabaseUnitTesting>
Mettez à jour l'attribut ConnectionString pour ExecutionContext et PrivilegedContext pour spécifier des connexions à la base de données cible sur laquelle vous souhaitez effectuer le déploiement.
Dans le menu Fichier, cliquez sur Enregistrer tout.
Double-cliquez sur app.config. dans l'Explorateur de solutions.
Dans l'éditeur, mettez à jour le noeud <DatabaseUnitTesting > pour qu'il corresponde à ce qui suit :
<DatabaseUnitTesting AllowConfigurationOverride="true">
En effectuant cette modification, vous autorisez Team Foundation Build à utiliser le fichier de configuration de remplacement que vous avez créé.
Dans le menu Fichier, cliquez sur Enregistrer tout.
Ensuite, vous devez mettre à jour Local.testsettings pour inclure votre fichier de configuration personnalisé.
Pour personnaliser Local.testsettings en vue du déploiement du fichier de configuration personnalisé
Dans l'Explorateur de solutions, double-cliquez sur Local.testsettings.
La boîte de dialogue Paramètres de test apparaît.
Dans la liste des catégories, cliquez sur Déploiement.
Activez la case à cocher Activer le déploiement.
Cliquez sur Ajouter un fichier.
Dans la boîte de dialogue Ajouter des fichiers de déploiement, spécifiez le fichier BuildComputer.dbunitttest.config que vous avez créé.
Cliquez sur Appliquer.
Cliquez sur Fermer.
Dans le menu Fichier, cliquez sur Enregistrer tout.
Ensuite, vous archivez votre solution pour le contrôle de version.
Archivage de la solution
Dans cette procédure, vous archivez tous les fichiers de votre solution. Ces fichiers comprennent le fichier de métadonnées de test de votre solution qui contient vos associations de catégorie de test et les tests. Chaque fois que vous ajoutez, supprimez, réorganisez ou modifiez le contenu des tests, votre fichier de métadonnées de test est mis à jour automatiquement de façon à refléter ces modifications.
Notes
Cette procédure décrit les étapes si vous utilisez le contrôle de version Team Foundation. Si vous utilisez un logiciel de contrôle de version différent, vous devez suivre la procédure appropriée à votre logiciel.
Pour archiver la solution
Connectez-vous à un ordinateur qui exécute Team Foundation Server.
Pour plus d'informations, consultez Utilisation de l'Explorateur du contrôle de code source.
Si votre solution ne s'y trouve pas déjà, ajoutez-la au contrôle de code source.
Pour plus d'informations, consultez Ajout de fichiers au contrôle de version.
Cliquez sur Afficher, puis sur Archivages en attente.
Archivez tous les fichiers de votre solution.
Pour plus d'informations, consultez Archiver des modifications en attente.
Notes
Vous pouvez avoir un processus d'équipe spécifique qui régit la façon dont les tests automatisés sont créés et gérés. Par exemple, le processus peut exiger que vous vérifiiez votre génération localement avant d'archiver ce code avec les tests qui seront exécutés dessus.
Dans l'Explorateur de solutions, une icône de cadenas apparaît en regard de chaque fichier pour indiquer qu'il est archivé. Pour plus d'informations, consultez Afficher les propriétés des fichiers et dossiers du contrôle de version.
Vos tests sont disponibles dans Team Foundation Build. Vous pouvez à présent créer une définition de build qui contient les tests à exécuter.
Créer une définition de build
Pour créer une définition de build
Dans Team Explorer, cliquez sur votre projet d'équipe, cliquez avec le bouton droit sur le nœud Builds, puis cliquez sur Nouvelle définition de build.
La fenêtre Nouvelle définition de build s'affiche.
Dans Nom de définition de build, tapez le nom que vous souhaitez attribuer à la définition de build.
Dans la barre de navigation, cliquez sur Valeurs par défaut des builds.
Dans Copier la sortie de build dans le dossier de destination suivant (chemin d'accès UNC, p. ex. \\serveur\partage), spécifiez le dossier qui contiendra la sortie de la build.
Vous pouvez indiquer un dossier partagé sur votre ordinateur local ou à tout emplacement réseau sur lequel le processus de génération peut disposer d'autorisations.
Dans la barre de navigation, cliquez sur Processus.
Dans le groupe Requis de Éléments à générer, cliquez sur le bouton Parcourir (…).
Dans la boîte de dialogue Éditeur de liste de projets de build, cliquez sur Ajouter.
Spécifiez le fichier solution (.sln) que vous avez ajouté au contrôle de version plus tôt dans cette procédure pas à pas et cliquez sur OK.
La solution s'affiche dans la liste Fichiers de projet ou solution à générer.
Cliquez sur OK.
Dans le groupe De base de Tests automatisés, spécifiez les tests que vous souhaitez exécuter. Par défaut, les tests qui figurent dans les fichiers nommés *test*.dll de votre solution seront exécutés.
Dans le menu Fichier, cliquez sur Enregistrer NomProjet.
Vous avez créé une définition de build. Ensuite, vous modifiez le projet de test.
Exécuter la nouvelle définition de build
Pour exécuter le nouveau type de build
Dans Team Explorer, développez le nœud du projet d'équipe, développez le nœud Builds, cliquez avec le bouton droit de la souris sur la définition de build que vous souhaitez exécuter, puis cliquez sur Mettre en file d'attente une nouvelle build.
La boîte de dialogue Mettre en file d'attente la build {NomProjetÉquipe} s'affiche avec une liste de tous les types de builds existants.
Si nécessaire, dans Définition de build, cliquez sur la nouvelle définition de build.
Confirmez que les valeurs qui figurent dans les champs Définition de build, Agent de build et Dossier cible pour cette build sont toutes appropriées, puis cliquez sur File d'attente.
L'onglet En attente de l'Explorateur de builds s'affiche. Pour plus d'informations, consultez Gérer et afficher des builds terminées.
Voir aussi
Tâches
Créer une définition de build de base