在单元测试中管理 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中文网其他相关文章!