我有一个类库,想要使用微软的单元测试框架进行单元测试。其中一些我想要测试的类是使用应用程序设置进行配置的。这些设置在Settings.settings
文件中定义,具有应用程序范围和适当的默认值。当应用程序使用该库时,这些设置可以在App.Config
文件中被覆盖。如果没有,则使用默认值。这正是我想要的。
在我的某些测试用例中,我想要测试特定组合的设置值,但我不知道如何从单元测试代码中更改类所见到的值。这些设置始终会从代码生成类的属性中加载其默认值。
在我的类库类中,我通过以下方式访问设置:
var mySetting1 = Settings.Default.MySetting1;
var mySetting2 = Settings.Default.MySetting2;
在单元测试中,在类被测试之前如何修改这些设置?将内部设置类访问权限放开并不能解决问题,因为这些设置具有应用程序范围,并且是设置类上的只读属性。