在單元測試中管理 SQL Express MDF 檔案路徑
單元測試通常需要連接到 SQL Express 資料庫。 但是,在連接字串中對 MDF 檔案的絕對檔案路徑進行硬編碼會降低測試的可移植性。本文探討了使用相對路徑或變數的解決方案。
雖然 |DataDirectory|
令牌在 Web 應用程式中很有用,但它在單元測試項目等桌面應用程式中並不總是可靠。 更穩健的方法是直接設定 DataDirectory
類別的 AppDomain
屬性。
以下是實現此目標的方法:
<code class="language-csharp">[TestInitialize] public void TestInitialize() { string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"); AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory); // ... rest of your initialization code ... }</code>
此程式碼片段將 DataDirectory
設定為應用程式基底目錄中的「Databases」子資料夾。 然後,您可以在連接字串中使用 |DataDirectory|
:
<code class="language-xml"><add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /></code>
此方法可確保您的單元測試可以找到 MDF 文件,無論應用程式的部署位置為何,從而提供更靈活且可維護的測試環境。
以上是如何在單元測試中為 My SQL Express MDF 檔案指定相對路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!