首页 >数据库 >mysql教程 >如何在单元测试项目中使用 SQL Express 连接字符串的相对路径?

如何在单元测试项目中使用 SQL Express 连接字符串的相对路径?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-11 10:52:43252浏览

How Can I Use a Relative Path for a SQL Express Connection String in My Unit Test Project?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn