我目前正在尝试学习如何使用easymock。我有以下代码:
List list = EasyMock.createMock(List.class);
EasyMock.expect(list.size()).andReturn(0);
EasyMock.replay(list);
EasyMock.verify(list);
至少对我来说,这应该有效 - 列表初始化时没有任何内容,大小应该返回0.但是我得到以下错误:
java.lang.AssertionError:
Expectation failure on verify:
size(): expected: 1, actual: 0
我认为这很奇怪,所以我将该行中的0更改为1并重新进行测试。我得到了同样的错误。有谁知道我做错了什么?提前谢谢!
答案 0 :(得分:6)
在replay
之后和verify
之前,您需要调用使用您的模拟的代码。该代码需要调用预期的方法(在这种情况下为size
)和仅该方法。错误消息意味着您将模拟设置为期望方法调用,但是当您去验证时,您从未在模拟上调用该方法,这是有道理的,因为您从未使用过模拟。