首頁 >後端開發 >C++ >如何在單元測試中設定 SQL Express 連接字串的相對路徑?

如何在單元測試中設定 SQL Express 連接字串的相對路徑?

Susan Sarandon
Susan Sarandon原創
2024-12-27 16:21:09334瀏覽

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

SQL Express 連接字串的相對路徑配置

在您的單元測試專案中,您遇到指定MDF 資料庫位置的挑戰文件相對於應用程式的位置。您打算在 app.config 檔案中定義連接字串,但您希望避免像您提供的那樣的絕對路徑。

使用|DataDirectory|在非Web 應用程式中

與您的假設相反,|DataDirectory|不僅適用於Web應用程序,還可以用於非Web應用程式.它表示相對於應用程式目錄的佔位符路徑。根據您的情況,您可以設定 |DataDirectory|值為資料庫所在路徑的值。

實作解決方案

要實作您所需的解決方案,請依照下列步驟操作:

  1. 應用程式設定配置:

    • 使用 |DataDirectory| 在 app.config中定義連接字串作為相對路徑的佔位符:

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

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

在您的單元測試類別中,使用|TestInitialize|設定|DataDirectory| 的方法屬性到所需的路徑:這裡,|Databases|資料夾被假定為應用程式目錄的子資料夾。 使用此配置,您的單元測試可以使用相對路徑存取資料庫,無論實際路徑如何應用程式的位置。

以上是如何在單元測試中設定 SQL Express 連接字串的相對路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn