Heim >Backend-Entwicklung >C++ >Wie konfiguriere ich relative Pfade für SQL Express-Verbindungszeichenfolgen in Komponententests?

Wie konfiguriere ich relative Pfade für SQL Express-Verbindungszeichenfolgen in Komponententests?

Susan Sarandon
Susan SarandonOriginal
2024-12-27 16:21:09333Durchsuche

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

Relative Pfadkonfiguration für SQL Express-Verbindungszeichenfolge

In Ihrem Unit-Test-Projekt stehen Sie vor der Herausforderung, den Speicherort Ihrer MDF-Datenbank anzugeben Datei relativ zum Speicherort der Anwendung. Sie beabsichtigen, die Verbindungszeichenfolge in der Datei app.config zu definieren, möchten aber absolute Pfade wie den von Ihnen angegebenen vermeiden.

Verwenden von |DataDirectory| in Nicht-Webanwendungen

Entgegen Ihrer Annahme |DataDirectory| ist nicht nur auf Webanwendungen anwendbar, sondern kann auch in Nicht-Webanwendungen eingesetzt werden. Es stellt einen Platzhalterpfad relativ zum Verzeichnis der Anwendung dar. In Ihrem Fall können Sie das |DataDirectory| festlegen Wert auf den Pfad, in dem sich Ihre Datenbank befindet.

Implementieren der Lösung

Um Ihre gewünschte Lösung zu implementieren, befolgen Sie diese Schritte:

  1. App.config-Konfiguration:

    • Definieren Ihre Verbindungszeichenfolge in app.config mit |DataDirectory| als Platzhalter für den relativen Pfad:

      <add name="MyConnectionString"
        connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
  2. DataDirectory-Eigenschaftseinstellung:

    • Verwenden Sie in Ihrer Unit-Test-Klasse |TestInitialize| Methode zum Festlegen des |DataDirectory| Eigenschaft zum gewünschten Pfad:

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

      Hier die |Databases| Es wird davon ausgegangen, dass der Ordner ein Unterordner Ihres Anwendungsverzeichnisses ist.

Mit dieser Konfiguration können Ihre Komponententests über einen relativen Pfad auf die Datenbank zugreifen, unabhängig vom tatsächlichen Ort der Anwendung.

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich relative Pfade für SQL Express-Verbindungszeichenfolgen in Komponententests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn