Share via


Dépannage des problèmes liés aux tests unitaires de base de données SQL Server

 

Vous pouvez rencontrer les problèmes présentés dans cette rubrique lorsque vous exécutez des tests unitaires SQL Server sur une base de données :

  • Modifications des tests unitaires et du fichier App.Config ignorées lors de l'exécution de tests unitaires

  • Déploiement de base de données vers une cible inattendue lors de l'exécution de tests unitaires

  • Délais d'attente lors de l'exécution de tests unitaires

Modifications des tests unitaires et du fichier App.Config ignorées lors de l'exécution de tests unitaires

Si vous modifiez le fichier App.Config dans le projet de test, vous devez recréer le projet de test avant que les modifications prennent effet.Ces modifications incluent celles apportées au fichier App.Config en utilisant la boîte de dialogue Configuration de test SQL Server.Si vous ne recréez pas le projet de test, les modifications ne sont pas appliquées lorsque vous exécutez les tests unitaires.

Déploiement de base de données vers une cible inattendue lors de l'exécution de tests unitaires

Si vous déployez une base de données à partir d'un projet de base de données lorsque vous exécutez des tests unitaires, la base de données est déployée en utilisant les informations de la chaîne de connexion spécifiée dans la configuration des tests unitaires.Les informations de connexion spécifiées dans les propriétés de débogage du projet de base de données ne sont pas utilisées pour cette tâche, ce qui vous permet d'exécuter des tests unitaires SQL Server par rapport à différentes instances de la même base de données.

Délais d'attente lors de l'exécution de tests unitaires

Si les tests unitaire de base de données échouent en raison d'un délai d'attente, vous pouvez augmenter le délai d'attente en mettant à jour le fichier app.config dans le projet de test.Le délai d'attente de connexion, défini sur la chaîne de connexion, indique le temps d'attente lorsque le test unitaire se connecte au serveur.Le délai d'attente de la commande, qui doit être défini directement dans le fichier app.config indique le temps d'attente lorsque le test unitaire exécute le script Transact-SQL.Si vous rencontrez des problèmes liés aux tests unitaires de longue durée, essayez d'augmenter la valeur de délai d'attente de la commande dans l'élément de contexte approprié.Par exemple, pour indiquer un délai d'attente de la commande de 120 secondes pour l'élément PrivilegedContext, mettez à jour le fichier app.config comme suit :

<SqlUnitTesting_VS2010>
    <DatabaseDeployment DatabaseProjectFileName="..\..\..\..\..\..\Visual Studio 2010\Projects\Database10\Database10\AdventureWorks.sqlproj"
        Configuration="Debug" />
    <DataGeneration ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(LocalDB)\Projects;Initial Catalog=AdventureWorks_Test;Integrated Security=True;Pooling=False"
        CommandTimeout="30" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(LocalDB)\Projects;Initial Catalog=AdventureWorks_Test;Integrated Security=True;Pooling=False"
        CommandTimeout="120" />
</SqlUnitTesting_VS2010>

Voir aussi

Procédure : créer des tests unitaires SQL Server pour des fonctions, des déclencheurs ou des procédures stockées
Procédure : configurer l'exécution de test unitaire SQL Server