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