我正在使用EasyMock在测试用例中创建模拟类。
expect(entity.getType()).andReturn("string");
Type属于String
数据类型。在我的开发环境中它运行良好。但是,如果我转移到我的服务器并进行构建,它会失败并出现以下错误:
java.lang.IllegalStateException: incompatible return value type
我不知道为什么它在服务器中失败并在我的开发机器中执行。
开发EasyMock版本:2.5.2
答案 0 :(得分:14)
我遇到了同样的问题。
我在EasyMock
中进行了部分模拟,但忘了给addMockedMethod
打电话给我想要设定期望的方法。
错误信息与上述相同,我认为这有点误导。
答案 1 :(得分:8)
在我的情况下,方法是final
,我打电话给expect
。所以EasyMock
无法模拟方法,因此没有记录方法调用。
答案 2 :(得分:5)
确保您的entity
对象不是简单的POJO(例如new Entity()
),并且它是使用EasyMock的createMock()
方法创建的。
答案 3 :(得分:3)
对于我来说,我必须记得在使用过一次之后再调用reset(...),或者我(奇怪地)得到了第二次调用expect的错误消息。