我在单元测试中遵循了代码片段,
ClassToBeMocked mock = createMock(ClassToBeMocked.class); //I've statically imported EasyMock.*
mock.callMethod(); //This is a void method
expectLastCall();
replay(mock);
但是当我运行测试时,实际上调用了 callMethod() 而不是达到预期。难道我做错了什么?
我对 EasyMock 或任何模拟框架还很陌生,并且因为这个问题而被阻止。任何帮助将不胜感激。
谢谢,
安迪斯
最佳答案
如果您使用“final”方法模拟一个类,就会发生这种情况。 EasyMock 不会覆盖 final 方法。如果不能模拟接口(interface),并且不能将方法更改为非 final方法,则可以使用 PowerMock与 EasyMock 一起解决这个限制。描述了该特定用例 here .
关于unit-testing - EasyMock:模拟对象正在调用实际方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210171/