gpt4 book ai didi

c# - 如何模拟没有 setter 的属性?

转载 作者:太空狗 更新时间:2023-10-30 00:44:12 25 4
gpt4 key购买 nike

我正在尝试模拟一个界面。我要设置“MockThisProperty”的属性没有二传手。我无法更改接口(interface)源。我得到的错误是

上一个方法'ITirdPartyInterface.get_MockThisProperty();'需要返回值或抛出异常。

我尝试过 DynamicMock、Strictmock、partial mock 等

当我尝试 SetupResult.For(thirdParty.MockThisProperty = mockedValue) 时,将无法编译,因为没有 setter 。

将最新的 Rhino 模拟与 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();

最佳答案

这对我有用:

var thirdParty = Rhino.Mocks.MockRepository.GenerateStub<IThirdPartyInterface>();
thirdParty.Stub(x => x.MockThisProperty).Return("bar");
string mockPropertyValue = thirdParty.MockThisProperty; //returns "bar"

关于c# - 如何模拟没有 setter 的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com