在 C# 单元测试中管理 SQL Express MDF 文件路径
C# 单元测试通常依赖于 SQL Express 数据库,通常通过连接字符串中的绝对路径引用 MDF 文件。 这种方法不灵活。 更强大的解决方案涉及使用相对路径或环境变量来动态定位数据库文件。
虽然 |DataDirectory|
常用于 Web 应用程序,但它并不直接适用于控制台或其他非 Web 应用程序。 解决方案是手动设置 DataDirectory
属性并相应地构造连接字符串。
这是一个实际示例:
<code class="language-xml"><configuration> <connectionStrings> <add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /> </connectionStrings> </configuration></code>
在单元测试类中,在测试执行之前设置 DataDirectory
属性:
<code class="language-csharp">[TestInitialize] public void TestInitialize() { string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"); AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory); // ... remaining test initialization ... }</code>
此方法允许在连接字符串中使用相对路径,从而可以通过应用程序配置文件更好地控制数据库文件位置,从而提高代码的可维护性和可移植性。
以上是如何在 C# 单元测试中使用 SQL Express MDF 文件的相对路径?的详细内容。更多信息请关注PHP中文网其他相关文章!