c# 单元测试 : Writing to Settings in unit test does not save values in user. 配置

标签 c# .net unit-testing app-config user.config

我正在运行 C# 单元测试 (VS 2008)。在测试中,我确实写入了设置,这应该会导致将数据保存到 user.config。

Settings.Default.X = "History"; // X is string
Settings.Default.Save();

但这根本不会创建文件(我已经在“C:\Documents and Settings\HW\Local Settings\Application Data”下进行了交叉检查)。

如果我创建与控制台应用程序相同的内容,则持久化数据(相同的代码)没有问题。

我需要考虑在单元测试中做这件事有什么特别的吗?

最佳答案

我在 Windows 7 上使用 Visual Studio 2010 进行了尝试,Visual Studio 单元测试框架实际上为测试应用程序创建了一个临时文件夹,我在其中找到了具有正确设置的 user.config 文件。我认为在 VS 2008 上可能是一样的。 这些文件夹的路径方案是这样的:

Windows 10 路径:

C:\Users\$USER$\AppData\Local\Microsoft_Corporation\UnitTestAdapter__Running__StrongName_{guid}\{number}

Windows Vista/7 路径:

C:\Users\$USER$\AppData\Local\Microsoft_Corporation\TestAppDomain{Number}

Windows XP 路径:

C:\Documents and Settings\$USER$\Local Settings\Microsoft_Corporation\TestAppDomain{Number}

祝你好运。

关于c# 单元测试 : Writing to Settings in unit test does not save values in user. 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2695130/

相关文章:

.net - 强制执行单元测试不应该与实时数据库/Web 服务对话是否合理?

javascript - 如何在发布 html 表单时进行 Base64 编码?

c# - 以编程方式打开 CD 托盘

c# - 当方法被可调用属性屏蔽时如何调用方法?

c# - 运行需要 MySql.Data 的内置 .NET 应用程序

unit-testing - 如何在测试时使 Spring Boot webflux 在默认 Netty 而不是 Jetty 上启动

scala - 测试已弃用的 Scala 函数时如何抑制弃用警告?

c# - 如何将对象数组传递给非托管代码?

c# - C代码中的数组索引混淆

c# - 回发时列表框重复(重复)