3
我有这样的事情:如何使用Rhino Mocks模拟受保护的计算只读属性?
public class SomeClass
{
protected ISomeInterface SomeProperty
{
get { return SomeStaticClass.GetSomeInterfaceImpl(); }
}
public void SomeMethod()
{
// uses SomeProperty in calculations
}
}
如何测试的someMethod,嘲讽使用犀牛制品SomeProperty?我正考虑获取访问者,使用IL重写访问者,只是返回模拟代理。听起来有多疯狂?
我建议重构你的代码,以便将'ISomeInterface'注入到'SomeClass'中。现在,你的'SomeStaticClass'形式具有很强的依赖性,这很难有效地模拟。 –
为什么财产首先受到保护? –
不幸的是,这是一个不能改变的DLL的一部分(商业原因)。 –