【问题标题】:EasyMock: Mocked object is calling actual methodEasyMock:模拟对象正在调用实际方法
【发布时间】:2011-08-26 20:21:12
【问题描述】:

我在单元测试中遵循了代码 sn-p,

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

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

我对 EasyMock 或任何模拟框架还很陌生,并且因为这个问题而被阻止。任何帮助将不胜感激。

谢谢, 安迪斯

【问题讨论】:

  • ClassToBeMocked 是具体的类还是接口?另外,您使用的是哪个版本的 EasyMock?

标签: unit-testing mocking easymock


【解决方案1】:

如果您使用“final”方法模拟一个类,就会发生这种情况。 EasyMock 不会覆盖 final 方法。如果你不能模拟一个接口,并且你不能将方法更改为非最终的,你可以使用PowerMock 和 EasyMock 来绕过这个限制。该特定用例描述为here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多