У меня проблема с 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 - это тот же объект, который я определил в модульном тесте. Я также не сталкивался с этой проблемой (насколько мне известно) с другими издевательскими методами.
Может ли проблема быть в объекте, который передается?
Заранее спасибо. Я действительно не уверен, какая еще информация может быть вам здесь полезна.
edit: это тестовый класс (и, как выясняется, где началось мое недоразумение)
public class TestMyService extends EasyMockHelper {...}