Existe-t-il un moyen de vérifier si un methodOne
est appelé auparavant methodTwo
dans Mockito?
public class ServiceClassA {
public void methodOne(){}
}
public class ServiceClassB {
public void methodTwo(){}
}
public class TestClass {
public void method(){
ServiceClassA serviceA = new ServiceClassA();
ServiceClassB serviceB = new ServiceClassB();
serviceA.methodOne();
serviceB.methodTwo();
}
}
java
unit-testing
mockito
froi
la source
la source
inOrder.verifyNoMoreInteractions();
après la dernière vérification dans cet exemple pour vérifier qu'aucun autre appel n'a été effectué.inOrder(firstMock, secondMock)
etinOrder(secondMock, firstMock)
? Vous pouvez peut-être mettre à jour la réponse pour en faire une note.Notez que vous pouvez également utiliser la classe InOrder pour vérifier que diverses méthodes sont appelées dans l'ordre sur une seule maquette, et pas seulement sur deux ou plusieurs simulations.
Supposons que j'ai deux classes
Foo
etBar
:Je peux alors ajouter une classe de test pour vérifier que
Bar
de »firstThenSecond()
la méthode appelle en faitfirst()
, alorssecond()
, et nonsecond()
, alorsfirst()
. Voir le code de test suivant:la source
find('foo')
, puisfind('bar')
doNothing()
Oui, cela est décrit dans la documentation. Vous devez utiliser la classe InOrder .
Exemple (en supposant que deux maquettes ont déjà été créées):
la source
Avec BDD c'est
la source