当单元测试在不同的程序集中时,如何存根Properties.Settings对象?

Gle*_*ven 4 .net c# settings rhino-mocks stubbing

我有一个对象引用了一堆Properties.Settings.Default...值,我需要在单元测试中为这个对象存根.

不幸的是,设置对象的类型被声明为internal,因此我无法从单元测试项目中访问它.

如何存储这些属性的返回值?我正在使用Rhino Mocks进行嘲弄.

kyo*_*ryu 7

一般来说,我不会.而不是你的"内部"对象实际上读取Properties.Settings.Default,让它们声明一个cconfigurable属性(在构造时,或通过属性),并让另一段代码填充它们.

这样,您可以在单元测试中测试除默认读取内容之外的所有内容,并且您将更少地与读取默认值的方式相结合,从而使将来更容易切换机制.