Я пытаюсь настроить тест в JUnit с EasyMock, и у меня возникла небольшая проблема, с которой я не могу справиться. Я надеялся, что кто-то здесь может помочь.
Вот упрощенная версия метода, который я пытаюсь проверить:
public void myMethod() {
//(...)
Obj myObj = this.service.getObj(param);
if (myObj.getExtId() != null) {
OtherObj otherObj = new OtherObj();
otherObj.setId(myObj.getExtId());
this.dao.insert(otherObj);
}
//(...)
}
Итак, используя EasyMock, я издевался над вызовом service.getObj(myObj)
, и это отлично работает.
Моя проблема возникает, когда JUnit выполняет вызов dao.insert(otherObj
). EasyMock бросает *Unexpected Method Call*
на это.
Я был бы не против издеваться над этим dao в своем тесте и использовать на нем expectLastCall().once();
, но это предполагает, что у меня есть дескриптор «otherObj», который передается в качестве параметра во время вставки... Чего, конечно, я не делаю, поскольку он условно созданный в контексте тестируемого метода.
Кто-нибудь сталкивался с этим и как-то решил?
Спасибо.