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
Susan Sarandonoriginal
2024-12-27 16:21:09332parcourir

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;" />
  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...
      }

      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!

Déclaration:
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