gpt4 book ai didi

rhino-mocks - RhinoMocks - stub 方法只调用一次

转载 作者:行者123 更新时间:2023-12-04 06:30:33 26 4
gpt4 key购买 nike

下面是一些测试代码:

var searchCommand = MockRepository.GenerateStub<ISearchCommand>();
activityCreatedDateQuery = new ActivityCreatedDateQuery(searchCommand, maxRows);
searchCommand.Stub(x => x.GetResults(activityCreatedDateQuery))
.Return(GetCreatedDateQueryMockData()));

事情是这样的……当我最初调用 activityCreatedDateQuery.ExecuteQuery() 时内部调用 searchCommand.GetResults(this) , GetCreatedDateQueryMockData()按预期调用。

我第二次在线程中调用它, GetCreatedDateQueryMockData()不调用,而是前一个调用的结果是(导致 IDataReader 关闭异常)。

这显然是设计行为,所以我如何确保始终调用委托(delegate)...我已经探索了 Stub.Repeat.WhenCalled.CallBack 等但没有运气...

最佳答案

问题是“返回”不接受委托(delegate),它只接受一个对象。 GetCreatedDataQueryMockData() 方法调用在设置 stub 时执行,并将值保存在框架内作为返回值。

您需要的是每次调用 stub 时调用的真正委托(delegate)。最近有人在 Stackoverflow 上问过这个问题,我 created a little extension method去做这个。

关于rhino-mocks - RhinoMocks - stub 方法只调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5474037/

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