小编Mat*_*ert的帖子

ApplicationSettingsBase在单元测试期间在哪里保存配置文件?

一些背景上下文:我从ApplicationSettingsBase派生来保存我的应用程序中的自定义配置设置,并且手动测试工作正常,配置集保存没问题.

我还想对我的ConfigSettings功能进行单元测试,以确保反序列化和保存多组设置(使用各种SettingsKeys)都能正常工作.我选择的单元测试框架是NUnit.

我的TextFixtureSetUp方法如下所示:

var configSettingsTest = new ConfigSettings("TestSettings");

configSettingsTest.Name = "TestName";
// ...lots of other initializations...

// Serialize the data
configSettingsTest.Save();
Run Code Online (Sandbox Code Playgroud)

在我的实际应用程序中,看起来正在保存配置设置

"<user>\AppData\Local\<myApplication>\<crazyHashKey>"
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到我的单元测试中保存设置的位置.我的意思是,测试是成功的,所以反序列化(可能)正在工作,但我不知道它们究竟是在磁盘上写入的,而ApplicationSettingsBase类似乎没有任何方法来指定保存路径.

有人有主意吗?

马特舒伯特

UPDATE

我发现了发生了什么.我使用Resharper在Visual Studio中运行我的NUnit测试,Resharper创建自己的独立AppDomain.所以ConfigSettings正在保存

"<user>\AppData\Local\JetBrains\<crazyHashKey>"
Run Code Online (Sandbox Code Playgroud)

(JetBrains是Resharper背后的公司)

我使用命令行中的构建脚本测试了这个,发现NUnit做了类似的事情,所以ConfigSettings现在在

"<user>\AppData\Local\NUnit.org\<crazyHashKey>"
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助其他有类似问题的人!:)

.net c# nunit save applicationsettingsbase

17
推荐指数
0
解决办法
6240
查看次数

标签 统计

.net ×1

applicationsettingsbase ×1

c# ×1

nunit ×1

save ×1