Sto provando a configurare un test in JUnit con EasyMock e sto riscontrando un piccolo problema che non riesco a capire. Speravo che qualcuno qui potesse aiutarti.JUnit Easymock Chiamata al metodo inattesa
Ecco una versione semplificata del metodo che sto cercando di prova:
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);
}
//(...)
}
Ok in modo da utilizzare EasyMock ho preso in giro la chiamata service.getObj(myObj)
e che funziona bene.
Il mio problema arriva quando JUnit raggiunge la chiamata dao.insert(otherObj
). EasyMock getta un *Unexpected Method Call*
su di esso.
non mi dispiacerebbe beffardo che dao nel mio test e l'utilizzo expectLastCall().once();
su di esso, ma che presuppone che ho una maniglia sul "otherobj" che è passato come parametro in fase di inserimento ... che ovviamente non dal momento che è stato creato condizionatamente nel contesto del metodo testato.
Chiunque ha mai avuto a che fare con questo e in qualche modo risolto?
Grazie.
Sì, ha fatto il trucco grazie a DoctorRuss. :) – Lancelot