Gibt es eine Möglichkeit zu überprüfen, ob in Mockito methodOne
zuvor a aufgerufen methodTwo
wurde?
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
quelle
quelle
inOrder.verifyNoMoreInteractions();
nach der letzten Überprüfung in diesem Beispiel, ob keine anderen Anrufe getätigt wurden.inOrder(firstMock, secondMock)
und gleichinOrder(secondMock, firstMock)
? Vielleicht können Sie die Antwort aktualisieren, um dies zu notieren.Beachten Sie, dass Sie auch die InOrder- Klasse verwenden können, um zu überprüfen, ob verschiedene Methoden in der Reihenfolge für einen einzelnen Mock aufgerufen werden, nicht nur für zwei oder mehr Mocks.
Angenommen, ich habe zwei Klassen
Foo
undBar
:Ich kann dann eine Testklasse Test hinzufügen , dass
Bar
‚sfirstThenSecond()
Methode tatsächlich aufruftfirst()
, dannsecond()
, und nichtsecond()
, dannfirst()
. Siehe folgenden Testcode:quelle
find('foo')
dannfind('bar')
doNothing()
Ja, dies ist in der Dokumentation beschrieben. Sie müssen die InOrder- Klasse verwenden.
Beispiel (unter der Annahme, dass bereits zwei Mocks erstellt wurden):
quelle
Mit BDD ist es
quelle