我遇到了 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 {...}