unit-testing - EasyMock:模拟对象正在调用实际方法

标签 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 或任何模拟框架还很陌生,并且因为这个问题而被阻止。任何帮助将不胜感激。

谢谢,
安迪斯

最佳答案

如果您使用“final”方法模拟一个类,就会发生这种情况。 EasyMock 不会覆盖 final 方法。如果不能模拟接口(interface),并且不能将方法更改为非 final方法,则可以使用 PowerMock与 EasyMock 一起解决这个限制。描述了该特定用例 here .

关于unit-testing - EasyMock:模拟对象正在调用实际方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210171/

相关文章:

java - 如何使用 EasyMock 测试内部类

java - 使用任何 Java 模拟框架模拟聚合

java - UnitTest (groovy + grails) - 无法拆卸元类

c# - FakeItEasy 是否支持部分模拟的想法?

unit-testing - 子类中的模拟/测试 super 类调用..可能吗?

c# - 最小起订量设置未返回预期值

azure - 如何在流分析作业查询中模拟 System.Timestamp()?

c# - 检查单元测试中是否抛出参数

c++ - C/C++ 测试框架

python - 需要从 lxml.etree 模块模拟 ElementTree 类的 write() 方法