Nous avons un projet Visual Studio 2012 ASP.NET MVC utilisant Entity Framework 5.
Certains tests unitaires dépendent d'une base de données. La configuration du fichier app.config dans le projet de test pour utiliser une base de données centrale SQL Server fonctionne bien.
Cependant, il serait beaucoup plus agréable d'utiliser une LocalDb, de sorte que chaque développeur dispose de sa propre base de données lors de l'exécution des tests. D'autant plus que nous aimerions que les tests soient configurés pour DropCreateDatabaseAlways
en cours d'exécution.
Cependant, je n'arrive pas à faire fonctionner la configuration. Si j'essaie ceci dans app.config :
<add name="TestDb"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=unittestdb;
Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\unittestdb.mdf"
providerName="System.Data.SqlClient" />
J'ai compris :
System.Data.SqlClient.SqlException : Une erreur d'activation de fichier s'est produite. Le nom du fichier physique ' \unittestdb.mdf peut être incorrect. Diagnostiquez et corrigez les erreurs supplémentaires, puis réessayez l'opération. CRÉER DATABASE a échoué. Certains noms de fichiers répertoriés n'ont pas pu être créés. Vérifiez les erreurs liées.
On dirait qu'il veut que le fichier mdf existe déjà, ce qui semble étrange puisqu'il essaie de créer la base de données. La création manuelle d'un fichier mdf ne modifie pas le message d'erreur.