0
我用Easymock.createNiceMock
嘲笑了一个对象。使用easymock调用for循环中的模拟对象
MYRepository mockedMyRepository = EasyMock.createNiceMock(MyRepositoryWrapper.class);
EasyMock.expect(mockedRepository.findList(Asset.class, criteria)).andReturn(statusTypeList);
在测试类中我有一个for循环,其中我称之为findList
方法。它获得第一个循环中的值,但是从下一个循环返回null
。
即使没有循环,只有一次它返回我指定的值。
System.out.println("first"+this.myRepository.findList(Asset.class).get(0)); \\ returns the correct value
System.out.println("second"+this.myRepository.findList(Asset.class).get(0)); \\ returns null
这里有什么解决方法? 谢谢。
感谢它的工作!但我想如果我使用createNiceMock,那么它不会造成问题,我可以多次调用它。我错了吗? – Sara 2012-07-24 00:09:27
请参阅这里的“不错的嘲笑”http://www.easymock.org/EasyMock3_0_Documentation.html。如果你没有设置任何期望,一个很好的模拟会为它的所有方法获取默认行为。默认行为是返回false,零或null,并允许您调用任意次数。但是,通过设置期望值,您已经覆盖了此方法的默认值。该期望包括预期的呼叫数量(默认为一次呼叫)。 – 2012-07-24 00:13:35
哦好吧,非常感谢:)。 – Sara 2012-07-24 00:15:28