我有一个问题,EasyMock在预期(已定义)的方法调用中返回null。
创建模拟对象
mock = EasyMock.createMock(DAO.class);
单元测试中的模拟设置。
expect(mock.update(myObj).andReturn(myObjUpdated).once();
replayAll();
service.setDao(mock);
service.processData(myObj);
verifyAll();
processData方法仅仅调用了。MyObject objUpdated = dao.update(myObj);
这是构建模拟数据的接口。
public interface DAO {
public <ENTITY> ENTITY update(ENTITY entity);
}
我对导致问题的原因感到相当困惑。我确认“obj”与我在单元测试中定义的对象相同。我也没有意识到其他模拟方法会出现这个问题(如果有的话)。
问题可能是传入的对象有问题吗?
提前感谢您的帮助。我真的不确定还有哪些信息会对您有所帮助。
编辑:这是测试类(结果证明这就是我的误解所在)。
public class TestMyService extends EasyMockHelper {...}