web-dev-qa-db-fra.com

Attendre quoi que ce soit comme paramètre pour se moquer en utilisant EasyMock

En utilisant EasyMock, je veux pouvoir dire que j'attends une méthode spécifique appelée sur ma maquette, mais je me fiche du paramètre utilisé pour appeler la simulation.

SomeInterface mock = EasyMock.createMock(SomeInterface.class);
mock.send(/*anything*/);
replay(mock);

/* Perform actions that will eventually invoke mock */

verify(mock);

Est-ce possible et comment?

De plus, si je veux accepter un objet qui dérive d'une classe de base spécifique, comment puis-je le spécifier?

28

Pour accepter un objet comme paramètre:

mock.send(anyObject());

(Vous devrez peut-être convertir l'expression dans le type souhaité.)

De plus, pour accepter tout objet d'un type spécifique, utilisez:

mock.send(isA(SomeObject.class));
33
Péter Török

De plus, si je veux accepter un objet qui dérive d'une classe de base spécifique, comment puis-je le spécifier?

mock.send(anyObject(Myclass.class));
2
jbleduigou