Maison > développement back-end > C++ > Comment utiliser les chemins relatifs pour les chaînes de connexion SQL Express dans les tests unitaires C# ?

Comment utiliser les chemins relatifs pour les chaînes de connexion SQL Express dans les tests unitaires C# ?

Patricia Arquette
Libérer: 2024-12-27 16:38:11
original
693 Les gens l'ont consulté

How to Use Relative Paths for SQL Express Connection Strings in C# Unit Tests?

Chaîne de connexion de chemin relatif pour SQL Express dans les tests unitaires

Lors de l'utilisation de bases de données SQL Express dans des projets de tests unitaires en C#, le défi se pose de spécifier l'emplacement relatif du fichier mdf à l'exécutable de l'application. L'utilisation d'un chemin absolu n'est pas pratique et |DataDirectory| variable, bien que réservée aux applications Web, peut être exploitée dans ce scénario.

En combinant les idées de développeurs expérimentés, une solution réalisable émerge. Dans le fichier app.config, définissez la chaîne de connexion comme :

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

Dans la classe de test unitaire, la propriété DataDirectory peut être définie dynamiquement :

[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

En définissant la propriété DataDirectory au chemin du dossier de la base de données par rapport à l'exécutable, la chaîne de connexion localisera avec succès le fichier mdf lors des tests unitaires. Cette approche permet une chaîne de connexion dynamique qui s'adapte à l'environnement de déploiement.

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!

source:php.cn
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