Где ApplicationSettingsBase сохраняет файлы конфигурации во время модульного тестирования?

Немного фонового контекста: я наследую от ApplicationSettingsBase для сохранения пользовательских наборов параметров конфигурации в моем приложении, и ручное тестирование работает нормально, наборы настроек сохраняются без проблем.

Я также хотел провести модульное тестирование моей функциональности ConfigSettings, чтобы убедиться, что десериализация и сохранение нескольких наборов настроек (с использованием различных ключей настройки) работают. Мой выборочный модуль для тестирования - 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 для запуска своих тестов NUnit из Visual Studio, и Resharper создает свой собственный изолированный AppDomain. Таким образом, ConfigSettings были сохранены в

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

(JetBrains является компанией, стоящей за Resharper)

Я проверил это, используя мой скрипт сборки из командной строки, и обнаружил, что NUnit делает нечто подобное, поэтому ConfigSettings были теперь в

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

Надеюсь, что это поможет любому, у кого есть подобный вопрос!:)

0 ответов

Другие вопросы по тегам