首頁 > 後端開發 > C++ > 如何在 C# 單元測試中指定 SQL Express 資料庫位置的相對路徑?

如何在 C# 單元測試中指定 SQL Express 資料庫位置的相對路徑?

Barbara Streisand
發布: 2025-01-04 06:21:39
原創
885 人瀏覽過

How to Specify a Relative Path for SQL Express Database Location in C# Unit Tests?

在應用程式設定中使用相對路徑決定SQL Express 資料庫位置

在使用SQL Express 資料庫的C# 單元測試專案中,有必要定義一個連接字串,該字串允許相對於應用程式位置的路徑。這比明確指定資料庫檔案的絕對路徑更可取,如:

AttachDbFilename=C:\blah\blah\blah\yea\yea\yea\MyApplication\Databases\MyUnitTestDB.mdf
登入後複製

最初考慮是否|DataDirectory|可以用於此目的。然而,我們發現這主要適用於 Web 應用程序,可能與控制應用程式設定檔中的資料庫位置所需的配置設定不太一致。

為了克服這項挑戰,實作了一種混合方法,如提供的解決方案所述:

app.config file:

<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
登入後複製

單元測試類別:

[TestInitialize]
public void TestInitialize()
{
    AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));

    // rest of initialize implementation ...
}
登入後複製

此方法將連接字串中的相對路徑定義與DataDirectory 的分配結合起來單元測試類別中的屬性,確保在單元測試期間資料庫檔案相對於應用程式的可執行檔定位,同時仍允許在生產中使用託管SQL 資料庫環境。

以上是如何在 C# 單元測試中指定 SQL Express 資料庫位置的相對路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板