单元测试项目中 SQL Express 连接字符串的相对路径
在您的问题中,您询问有关在SQL Express 数据库连接字符串的 app.config 文件。您一直在使用绝对路径来指定 MDF 文件的位置,但您正在寻求一种更灵活的方法。
要实现此目的,您确实可以利用 |DataDirectory|连接字符串中的占位符。但是,您认为它仅适用于 Web 应用程序的假设是错误的。 |数据目录|是一个特殊变量,它指向应用程序的可执行程序集所在的目录。这是一种无需提供绝对路径即可引用特定位置的便捷方法。
要实现此目的,您可以修改 app.config 文件中的连接字符串,如下所示:
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyUnitTestDB.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
这将指示应用程序将 MDF 文件定位在与可执行程序集相同的目录中。
设置 |DataDirectory|属性,您可以在单元测试类中使用以下代码:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // Rest of initialize implementation ... }
此行将设置 |DataDirectory|属性到 MDF 文件所在的指定目录。通过使用这种方法,您可以维护一个相对连接字符串,无论应用程序的位置如何,该字符串都可以工作。
以上是如何在单元测试项目中使用 SQL Express 连接字符串的相对路径?的详细内容。更多信息请关注PHP中文网其他相关文章!