Maison >base de données >tutoriel mysql >Comment puis-je utiliser des chemins relatifs pour les fichiers MDF SQL Express dans les tests unitaires C# ?
Gestion des chemins de fichiers MDF SQL Express dans les tests unitaires C#
Les tests unitaires C# s'appuient souvent sur des bases de données SQL Express, faisant généralement référence au fichier MDF via un chemin absolu dans la chaîne de connexion. Cette approche est rigide. Une solution plus robuste consiste à utiliser des chemins relatifs ou des variables d'environnement pour localiser dynamiquement le fichier de base de données.
Bien que |DataDirectory|
soit couramment utilisé dans les applications Web, il n'est pas directement applicable à la console ou à d'autres applications non Web. La solution consiste à définir manuellement la propriété DataDirectory
et à construire la chaîne de connexion en conséquence.
Voici un exemple pratique :
<code class="language-xml"><configuration> <connectionStrings> <add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /> </connectionStrings> </configuration></code>
Au sein de votre classe de test unitaire, définissez la propriété DataDirectory
avant l'exécution du test :
<code class="language-csharp">[TestInitialize] public void TestInitialize() { string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"); AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory); // ... remaining test initialization ... }</code>
Cette méthode permet d'utiliser des chemins relatifs dans votre chaîne de connexion, permettant un meilleur contrôle de l'emplacement des fichiers de base de données via le fichier de configuration de l'application, favorisant ainsi la maintenabilité et la portabilité du code.
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!