【发布时间】:2013-08-30 19:00:12
【问题描述】:
我有这样的事情:
public class SomeClass
{
protected ISomeInterface SomeProperty
{
get { return SomeStaticClass.GetSomeInterfaceImpl(); }
}
public void SomeMethod()
{
// uses SomeProperty in calculations
}
}
如何测试 SomeMethod,使用 Rhino Mocks 模拟 SomeProperty?我正在考虑获取访问器,使用 IL 重写访问器,只是为了返回模拟代理。听起来有多疯狂?
【问题讨论】:
-
我建议重构您的代码,以便将
ISomeInterface注入SomeClass。现在,你有一个SomeStaticClass形式的硬依赖,这很难有效地模拟。 -
为什么首先要保护财产?
-
不幸的是,这是无法更改的 DLL 的一部分(商业原因)。
标签: c# reflection rhino-mocks