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的一部分(商業原因)。 –