EasyMock:Mocked对象调用实际方法

And*_*dyT 9 unit-testing easymock mocking

我在单元测试中遵循了代码片段,

ClassToBeMocked mock = createMock(ClassToBeMocked.class); //I've statically imported EasyMock.*
mock.callMethod(); //This is a void method
expectLastCall();
replay(mock);
Run Code Online (Sandbox Code Playgroud)

但是当我运行测试时,实际上调用了callMethod()而不是预期.难道我做错了什么?

我是EasyMock或任何模拟框架的新手,因为这个问题而被阻止.任何帮助将不胜感激.

谢谢,安迪斯

jhe*_*cks 8

如果你用'final'方法嘲笑一个类,就会发生这种情况.EasyMock不会覆盖最终方法.如果您无法模拟界面,并且无法将方法更改为非final,则可以使用PowerMock和EasyMock来解决此限制.这里描述该特定用例.