我目前正在尝试学习如何使用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并重新运行测试。我遇到了同样的错误。有人知道我在做什么错吗?提前致谢!
最佳答案
在replay
之后和verify
之前,您需要调用使用模拟的代码。该代码需要调用预期的方法(在这种情况下为size
),并且仅调用该方法。该错误消息表示您将模拟程序设置为希望进行方法调用,但是当您进行验证时,从未在模拟程序上调用该方法,这很有意义,因为您从未使用过该模拟程序。
关于java - EasyMock返回奇怪的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6365419/