在 C# 单元测试项目中使用 SQL Express 数据库时,在指定 mdf 文件相对位置时出现了挑战到应用程序的可执行文件。使用绝对路径很不方便,并且 |DataDirectory|变量虽然为 Web 应用程序保留,但可以在这种情况下使用。
通过结合经验丰富的开发人员的想法,出现了一个可行的解决方案。在 app.config 文件中,将连接字符串定义为:
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
在单元测试类中,可以动态设置 DataDirectory 属性:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // Rest of initialize implementation... }
通过设置 DataDirectory 属性到数据库文件夹相对于可执行文件的路径,连接字符串将在单元测试期间成功找到 mdf 文件。这种方法允许适应部署环境的动态连接字符串。
以上是如何在 C# 单元测试中使用 SQL Express 连接字符串的相对路径?的详细内容。更多信息请关注PHP中文网其他相关文章!