Maison > base de données > tutoriel mysql > Comment puis-je utiliser un chemin relatif pour une chaîne de connexion SQL Express dans mon projet de test unitaire ?

Comment puis-je utiliser un chemin relatif pour une chaîne de connexion SQL Express dans mon projet de test unitaire ?

Mary-Kate Olsen
Libérer: 2025-01-11 10:52:43
original
313 Les gens l'ont consulté

How Can I Use a Relative Path for a SQL Express Connection String in My Unit Test Project?

Chemin relatif pour la chaîne de connexion SQL Express dans le projet de test unitaire

Dans votre question, vous vous demandez comment utiliser un chemin relatif ou une variable dans le fichier app.config pour une chaîne de connexion à la base de données SQL Express. Vous utilisez un chemin absolu pour spécifier l'emplacement du fichier MDF, mais vous recherchez une approche plus flexible.

Pour y parvenir, vous pouvez en effet utiliser le |DataDirectory| espace réservé dans la chaîne de connexion. Cependant, vous avez tort de supposer que cela ne s'applique qu'aux applications Web. |Répertoire de données| est une variable spéciale qui pointe vers le répertoire où réside l'assembly exécutable de l'application. Il s'agit d'un moyen pratique de faire référence à un emplacement spécifique sans avoir à fournir un chemin absolu.

Pour implémenter cela, vous pouvez modifier la chaîne de connexion dans votre fichier app.config comme suit :

<add name="MyConnectionString"
    connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyUnitTestDB.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
Copier après la connexion

Cela demandera à l'application de localiser le fichier MDF dans le même répertoire que l'assembly exécutable.

Pour définir le |DataDirectory| propriété, vous pouvez utiliser le code suivant dans votre classe de test unitaire :

[TestInitialize]
public void TestInitialize()
{
    AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));
    
    // Rest of initialize implementation ...
}
Copier après la connexion

Cette ligne définira le |DataDirectory| propriété dans le répertoire spécifié, où se trouve votre fichier MDF. En utilisant cette approche, vous pouvez conserver une chaîne de connexion relative qui fonctionnera quel que soit l'emplacement de l'application.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal