我目前正在尝试学习如何使用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/

10-11 19:27