Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Vous pouvez rencontrer les problèmes suivants lorsque vous travaillez avec des tests unitaires SQL Server sur une base de données.
Les tests unitaires et les modifications app.config sont ignorées lorsque vous exécutez des tests unitaires
Si vous modifiez le app.config fichier dans le projet de test, vous devez reconstruire le projet de test avant que les modifications ne prennent effet. Ces modifications incluent les modifications apportées à app.config avec la boîte de dialogue Configuration de test SQL Server. Si vous ne régénérez 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 lorsque vous exécutez des 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 à l’aide des informations de chaîne de connexion spécifiées dans votre configuration de test unitaire. 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 sur différentes instances de la même base de données.
Délais d’expiration lorsque vous exécutez des tests unitaires de base de données
Si vos tests unitaires de base de données échouent en raison d’un délai d’expiration, vous pouvez augmenter la période d’expiration en mettant à jour le app.config fichier dans votre projet de test. Le délai d’expiration de connexion, défini sur la chaîne de connexion, spécifie la durée d’attente pendant laquelle le test unitaire se connecte au serveur. Le délai d’expiration de la commande, qui doit être défini directement dans le app.config fichier spécifie la durée d’attente pendant laquelle le test unitaire exécute le script Transact-SQL. Si vous rencontrez des problèmes avec des tests unitaires longs, essayez d’augmenter la valeur de délai d’expiration de commande dans l’élément de contexte approprié. Par exemple, pour spécifier un délai d’expiration de commande de 120 secondes pour l’élément PrivilegedContext, mettez à jour 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>