EasyMock:Mocked对象调用实际方法

时间:2011-08-26 20:21:13

标签: unit-testing mocking easymock

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

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

但是当我运行测试时,实际上调用了callMethod()而不是预期。我做错了吗?

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

谢谢, AndyS

1 个答案:

答案 0 :(得分:8)

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