Comment simuler des méthodes avec un retour de type void ?
J'ai implémenté un modèle d'observateur mais je ne peux pas le simuler avec Mockito parce que je ne sais pas comment.
J'ai essayé de trouver un exemple sur Internet, mais sans succès.
Ma classe ressemble à ça :
public class World {
List<Listener> listeners;
void addListener(Listener item) {
listeners.add(item);
}
void doAction(Action goal,Object obj) {
setState("i received");
goal.doAction(obj);
setState("i finished");
}
private string state;
//setter getter state
}
public class WorldTest implements Listener {
@Test public void word{
World w= mock(World.class);
w.addListener(this);
...
...
}
}
interface Listener {
void doAction();
}
Le système n'est pas déclenché par un simulacre.
Je veux montrer l'état du système mentionné ci-dessus. Et faire des assertions en fonction de ceux-ci.
14 votes
Attention, les méthodes void sur les mocks ne font rien par défaut !
2 votes
@Line, c'est ce que je cherchais. Cela semble évident après que vous l'ayez dit. Mais cela met en évidence un principe du mocking : vous n'avez besoin de faire un mocking des méthodes des classes mockées que pour leurs effets, comme une valeur de retour ou une exception. Je vous remercie !