19

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

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

我的 TextFixtureSetUp 方法如下所示:

var configSettingsTest = new ConfigSettings("TestSettings");

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

// Serialize the data
configSettingsTest.Save();

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

"<user>\AppData\Local\<myApplication>\<crazyHashKey>"

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

有人有想法么?

马特舒伯特

更新

我发现发生了什么事。我使用 Resharper 在 Visual Studio 中运行我的 NUnit 测试,而 Resharper 创建了自己的隔离 AppDomain。所以 ConfigSettings 被保存在

"<user>\AppData\Local\JetBrains\<crazyHashKey>"

(JetBrains 是 Resharper 背后的公司)

我从命令行使用我的构建脚本对此进行了测试,发现 NUnit 做了类似的事情,所以 ConfigSettings 现在在

"<user>\AppData\Local\NUnit.org\<crazyHashKey>"

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

4

0 回答 0