Vérification du code de base de données à l'aide de tests unitaires

Vous pouvez utiliser des tests unitaires de base de données pour établir un état de ligne de base pour votre base de données, puis vérifier toutes les modifications ultérieures que vous apportez aux objets de base de données. Avant de pouvoir établir un état de ligne de base, vous devez créer un projet de base de données. Vous créez ensuite un projet de test et écrivez des jeux de tests Transact-SQL qui exercent vos objets de base de données. Grâce à ces tests, vous pouvez vérifier dans votre environnement de développement isolé si ces objets se comportent correctement avant que vous ne les archiviez dans le contrôle de version.

Vous pouvez créer des tests qui vérifient les modifications apportées à un objet de base de données. De plus, vous pouvez générer automatiquement des stubs de code Transact-SQL qui testent des fonctions de base de données, des déclencheurs et des procédures stockées.

Notes

Vous pouvez créer et exécuter des tests unitaires de base de données sans qu'aucun projet de base de données ne soit ouvert. Toutefois, si vous souhaitez générer automatiquement des scripts de test pour tester des objets de base de données spécifiques de votre projet, vous devez ouvrir le projet de base de données qui contient les objets que vous souhaitez tester.

Étant donné que vous ou les membres de votre équipe modifiez le schéma de la base de données, vous pouvez utiliser ces tests pour vérifier si les modifications ont altéré les fonctionnalités existantes. Vous créez des tests unitaires de base de données pour compléter les tests unitaires de logiciels que créent vos développeurs de logiciels. Vous devez compléter ces deux jeux de tests pour vérifier le comportement général de votre application.

Vos tests unitaires peuvent vérifier que les procédures réussissent lorsque cela est prévu et qu'elles échouent lorsque cela est attendu. Les tests permettant de vérifier que des échecs appropriés se produisent sont des « tests négatifs ».

Important

Vous pouvez créer, modifier et exécuter des tests unitaires de base de données dans Visual Studio Premium et Visual Studio Ultimate. Dans Visual Studio 2010 Professional, vous pouvez exécuter des tests unitaires de base de données, mais ne pouvez ni créer, ni modifier de tests dans le concepteur.

Tâches courantes

Dans le tableau suivant, vous pouvez trouver les descriptions des tâches courantes qui prennent en charge ce scénario, ainsi que des liens pointant vers des informations supplémentaires sur la façon dont vous pouvez mener à bien ces tâches.

Tâches courantes

Contenu de support

Apprendre en faisant : vous pouvez suivre une première procédure pas à pas pour vous familiariser avec la création et l'exécution d'un test unitaire de base de données simple. Cette procédure pas à pas inclut un exemple de test unitaire de base de données négatif.

Remplir votre base de données avec des données de test : avant de pouvoir exécuter des tests par rapport à vos objets de base de données, votre base de données doit contenir des données. La méthode la plus commune de créer des données de test consiste à utiliser un ou plusieurs générateurs de données. Vous pouvez également remplir votre base de données avec des données de référence dans le script de post-déploiement ou encore synchroniser les données de votre base de données avec celles d'une autre base de données.

Définir des tests unitaires de base de données : vous devez créer des tests unitaires de base de données dans leur propre projet. Vous configurez les paramètres de ce projet et définissez une ou plusieurs conditions de test pour chaque test.

Exécuter des tests unitaires de base de données : après avoir défini un ou plusieurs tests unitaires, vous les exécutez, déboguez des problèmes et examinez vos résultats de test.

Gérer des groupes de tests : vous pouvez organiser des tests en différents groupes s'ils doivent généralement être exécutés simultanément. Les listes de tests sont toujours prises en charge, mais pour les nouveaux groupes de tests, vous devez plutôt envisager des catégories de test. Par exemple, vous pouvez créer une catégorie de test pour les tests de vos déclencheurs ou pour tous les objets d'un schéma particulier.

Archiver vos projets de test et vos tests dans le contrôle de version : une fois que vous avez exécuté vos tests et vérifié s'ils fonctionnaient correctement, vous devez archiver votre projet de test et tous les fichiers associés dans le contrôle de version, afin que tous les membres de votre équipe puissent exécuter vos tests.

Définir des conditions de test personnalisées : vous pouvez créer des conditions de test personnalisées si vous devez détecter un comportement que le jeu par défaut de conditions de test n'inclut pas. Vous devez distribuer ces conditions à tous les membres de votre équipe qui souhaitent exécuter les tests qui utilisent les nouvelles conditions.

Mettre à jour des tests unitaires existants : si vous disposez de tests unitaires créés dans une version antérieure de Visual Studio, vous devez les mettre à niveau avant qu'ils ne soient générés et exécutés avec succès avec cette version.

RemarqueRemarque
Si vous ouvrez une solution qui contient à la fois un projet de base de données et un projet de test unitaire de base de données d'une version antérieure de Visual Studio, vous serez invité à mettre à niveau ces projets.Si vous ouvrez une solution qui contient uniquement un projet de test unitaire de base de données, vous devez le mettre à niveau manuellement.

Résoudre les problèmes : apprenez à résoudre les principaux problèmes liés aux tests unitaires de base de données.

Scénarios connexes