Je suis l'aide de Mockito d'écrire un test unitaire en Java, et j'aimerais vérifier qu'une certaine méthode est la dernière appelée sur un objet.
Je suis en train de faire quelque chose comme ceci dans le code en cours de test:
row.setSomething(value);
row.setSomethingElse(anotherValue);
row.editABunchMoreStuff();
row.saveToDatabase();
Dans ma maquette, je ne se soucient pas de l'ordre dans lequel j'ai tout modifier sur la ligne, mais c'est très important pour moi de ne pas essayer de faire quelque chose de plus après que j'ai enregistré. Est-il une bonne façon de le faire?
Notez que je ne suis pas à la recherche pour verifyNoMoreInteractions: il n'est pas en mesure de confirmer que saveToDatabase est la dernière chose qui s'appelle, et il échoue également si je l'appelle, rien sur la ligne que je n'ai pas explicitement vérifier. Je voudrais être en mesure de dire quelque chose comme:
verify(row).setSomething(value);
verify(row).setSomethingElse(anotherValue);
verifyTheLastThingCalledOn(row).saveToDatabase();
Si cela peut aider, je suis passer à Mockito à partir d'un JMock test qui a fait ceci:
row.expects(once()).method("saveToDatabase").id("save");
row.expects(never()).method(ANYTHING).after("save");