Я пытаюсь настроить тест в 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*
.
Я бы не возражал насмехаться над этим дао в моем тесте и использовать на нем expectLastCall().once();
, но это предполагает, что у меня есть дескриптор "otherObj", который передается как параметр во время вставки ...конечно, нет, поскольку он условно создан в контексте тестируемого метода.
Кто-нибудь когда-либо имел дело с этим и каким-то образом решал его?
Спасибо.