我使用Easymock.createNiceMock
模拟了一个对象。
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
这里有什么解决方案? 感谢。
答案 0 :(得分:2)
添加
.anyTimes()
到期望结束。所以你得到了
EasyMock.expect(mockedRepository.findList(Asset.class , criteria)).andReturn(statusTypeList).anyTimes();
否则,你隐含地说只期待一次。