У меня есть библиотека классов, которую я хочу провести модульное тестирование с использованием среды модульного тестирования Microsoft. Некоторые из классов, которые я хочу протестировать, настраиваются с помощью настроек приложения. Эти настройки определены внутри файла Settings.settings
, имеющего область применения и подходящие значения по умолчанию. Когда библиотека используется приложением, эти настройки могут быть переопределены в файле App.Config
. Если нет, используются значения по умолчанию. Именно так я и хочу.
В некоторых моих тестовых примерах я хочу протестировать специальные комбинации значений настроек, но я не знаю, как изменить значения, которые видит тестируемый класс, из кода модульного теста. Эти параметры всегда будут иметь свои значения по умолчанию, загруженные из атрибутов сгенерированного кода класса.
В моем классе библиотеки я получаю доступ к таким настройкам:
var mySetting1 = Settings.Default.MySetting1;
var mySetting2 = Settings.Default.MySetting2;
Как мне изменить эти настройки в модульном тесте, прежде чем доступ к настройке будет выполняться тестируемым классом? Создание внутреннего класса настроек, доступного для модульного теста, не решает проблему, поскольку настройки имеют область применения и доступны только для чтения в классе настроек.