Gestion des chemins de fichiers MDF SQL Express dans les tests unitaires
Les tests unitaires nécessitent souvent une connexion aux bases de données SQL Express. Cependant, le codage en dur des chemins de fichiers absolus pour les fichiers MDF dans vos chaînes de connexion rend vos tests moins portables. Cet article explore des solutions pour utiliser à la place des chemins relatifs ou des variables.
Bien que le jeton |DataDirectory|
soit utile dans les applications Web, il n'est pas toujours fiable dans les applications de bureau comme les projets de tests unitaires. Une méthode plus robuste consiste à définir directement la propriété DataDirectory
de la classe AppDomain
.
Voici comment y parvenir :
<code class="language-csharp">[TestInitialize] public void TestInitialize() { string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"); AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory); // ... rest of your initialization code ... }</code>
Cet extrait de code définit DataDirectory
sur un sous-dossier « Bases de données » dans le répertoire de base de votre application. Vous pouvez ensuite utiliser |DataDirectory|
dans votre chaîne de connexion :
<code class="language-xml"><add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /></code>
Cette approche garantit que vos tests unitaires peuvent localiser le fichier MDF quel que soit l'emplacement de déploiement de l'application, offrant ainsi un environnement de test plus flexible et plus maintenable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!