Comment : déboguer des objets de base de données
Un test unitaire de base de données se compose des éléments suivants :
Une ou plusieurs conditions de test, lesquelles sont écrites en C# ou en Visual Basic. Pour déboguer des conditions de test, suivez la procédure indiquée pour déboguer un test unitaire, comme décrit dans Comment : déboguer pendant l'exécution d'un test.
Un ou plusieurs scripts Transact-SQL qui s'exécutent sur les objets de la base de données que vous testez. Vous ne pouvez pas déboguer ces scripts Transact-SQL.
Les procédures de cette rubrique expliquent comment déboguer des objets de base de données spécifiques, tels que des procédures stockées, des fonctions et des déclencheurs. Pour déboguer un objet de base de données, exécutez les procédures suivantes dans l'ordre spécifié :
Activez le débogage SQL Server sur votre projet de test.
Ajoutez des points d'arrêt à votre script Transact-SQL.
Déboguez votre test unitaire de base de données. Dans cette procédure, vous exécutez le test en mode débogage.
Pour activer le débogage SQL sur votre projet de test
Ouvrez l' Explorateur de solutions.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de test, puis cliquez sur Propriétés.
Une page de propriétés portant le même nom que le projet de test s'ouvre.
Dans la page de propriétés, cliquez sur Déboguer.
Sous Activer les débogueurs, cliquez sur Activer le débogage SQL Server.
Enregistrez les modifications apportées.
Pour définir le délai d'attente du contexte d'exécution afin de permettre le débogage de votre projet de test
Dans le menu Fichier, pointez sur Ouvrir, puis cliquez sur Fichier.
Accédez au dossier qui contient votre projet de test, puis double-cliquez sur le fichier app.config.
Le fichier app.config s'ouvre dans l'éditeur.
Modifiez le nœud ExecutionContext pour ajouter un délai d'attente de la commande, comme dans l'exemple ci-dessous :
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
Enregistrez les modifications apportées.
Régénérez votre projet de test unitaire de base de données.
Important
Si vous ne régénérez pas votre projet, les modifications que vous avez apportées à app.config ne seront pas appliquées lorsque vous exécuterez vos tests unitaires de base de données, et le débogage échouera.
Pour ajouter des points d'arrêt à votre script Transact-SQL
Dans le menu Affichage, ouvrez l'Explorateur de serveurs.
Sous Connexions de données, développez le nœud de la base de données que vous voulez tester.
Si une petite croix (« x ») rouge apparaît à côté de l'icône de la base de données, la connexion à la base de données est fermée. Dans ce cas, cliquez avec le bouton droit sur la base de données, puis cliquez sur Actualiser. Vous devrez peut-être fournir des informations d'identification pour ouvrir la connexion à la base de données.
Développez le nœud Vues, Procédures stockées ou Fonctions pour rechercher l'objet que vous voulez déboguer.
Double-cliquez sur l'objet à déboguer.
Cliquez sur l'encadré gris pour définir un point d'arrêt.
Pour déboguer votre test unitaire de base de données
Ouvrez la fenêtre Affichage des tests.
Cliquez sur le test dont le script Transact-SQL s'applique à l'objet de base de données dans lequel vous définissez des points d'arrêt.
Dans la barre d'outils de la fenêtre Affichage des tests, cliquez sur Déboguer la sélection.
Le test s'exécute en mode débogage jusqu'à un point d'arrêt soit rencontré dans l'objet de base de données.
(Facultatif) Pour ouvrir une autre fenêtre de débogage, ouvrez le menu Déboguer, pointez sur Fenêtres, puis cliquez sur Points d'arrêt, Sortie ou Exécution.