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