Je rencontre un problème avec EasyMock qui renvoie null pour un appel de méthode attendu (défini).
Création de l'objet simulé
mock = EasyMock.createMock(DAO.class);
Configuration du mock dans le test unitaire.
expect(mock.update(myObj).andReturn(myObjUpdated).once();
replayAll();
service.setDao(mock);
service.processData(myObj);
verifyAll();
La méthode processData appelle simplement
MyObject objUpdated = dao.update(myObj);
Voici l'interface à partir de laquelle le mock est construit.
public interface DAO {
public ENTITY update(ENTITY entity);
}
Je suis assez confus quant à ce qui pourrait causer le problème. J'ai confirmé que 'obj' est le même objet que j'ai défini dans le test unitaire. Je n'ai également pas rencontré ce problème (que je sache) avec d'autres méthodes simulées.
Le problème pourrait-il être avec l'objet qui est passé en paramètre ?
Merci d'avance. Je ne suis vraiment pas sûr des autres informations qui pourraient vous être utiles ici.
éditer : ceci est la classe de test (et comme il s'avère, là où a commencé ma confusion)
public class TestMyService extends EasyMockHelper {...}