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

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

Susan Sarandon
Libérer: 2024-12-27 16:21:09
original
327 Les gens l'ont consulté

How to Configure Relative Paths for SQL Express Connection Strings in Unit Tests?

Configuration du chemin relatif pour la chaîne de connexion SQL Express

Dans votre projet de test unitaire, vous rencontrez le défi de spécifier l'emplacement de votre base de données MDF fichier par rapport à l’emplacement de l’application. Vous avez l'intention de définir la chaîne de connexion dans le fichier app.config, mais vous préférez éviter les chemins absolus comme celui que vous avez fourni.

Utilisation de |DataDirectory| dans les applications non Web

Contrairement à votre hypothèse, |DataDirectory| s'applique non seulement aux applications Web, mais peut également être utilisé dans des applications non Web. Il représente un chemin d'espace réservé relatif au répertoire de l'application. Dans votre cas, vous pouvez définir le |DataDirectory| valeur au chemin où réside votre base de données.

Mise en œuvre de la solution

Pour mettre en œuvre la solution souhaitée, suivez ces étapes :

  1. Configuration App.config :

    • Définir votre chaîne de connexion dans app.config en utilisant |DataDirectory| comme espace réservé pour le chemin relatif :

      <add name="MyConnectionString"
        connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
      Copier après la connexion
  2. Paramètre de la propriété DataDirectory :

    • Dans votre classe de test unitaire, utilisez le |TestInitialize| méthode pour définir le |DataDirectory| propriété au chemin souhaité :

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

      Ici, les |Bases de données| Le dossier est supposé être un sous-dossier du répertoire de votre application.

Avec cette configuration, vos tests unitaires peuvent accéder à la base de données en utilisant un chemin relatif, quel que soit le chemin réel 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!

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