我正在尝试模拟一个接口。我想设置的属性 "MockThisProperty" 没有setter。我无法更改接口源代码。我得到的错误是:
"IThirdPartyInterface.get_MockThisProperty();" 方法需要返回值或抛出异常。
我尝试使用 DynamicMock、Strictmock、partial mock 等方法。
当我尝试使用 SetupResult.For(thirdParty.MockThisProperty = mockedValue) 时,因为没有 setter 而无法编译。
我正在使用最新的 Rhino Mocks 和 MSTest。
现在很困惑,请看以下代码...
var stuff = _Mockery.Stub<Hashtable>();
matchItem.Add(key, "Test");
var thirdParty = _Mockery.Stub<IThirdPartyInterface>();
SetupResult.For(thirdParty.MockThisProperty).Return(stuff);
_Mockery.BackToRecordAll();
//more code
_Mockery.ReplayAll();
Assert.IsTrue(MethodToTest(thirdParty));
_Mockery.VerifyAll();