¿Hay alguna forma de verificar si methodOne
se llama antes methodTwo
a 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
fuente
fuente
inOrder.verifyNoMoreInteractions();
después de la última verificación en este ejemplo para verificar que no se realizaron otras llamadas.inOrder(firstMock, secondMock)
yinOrder(secondMock, firstMock)
? Quizás pueda actualizar la respuesta para hacer una nota al respecto.Tenga en cuenta que también puede usar la clase InOrder para verificar que varios métodos se invocan en orden en un simulacro único, no solo en dos o más simulacros.
Supongamos que tengo dos clases
Foo
yBar
:Entonces puedo agregar una clase de prueba para probar que
Bar
elfirstThenSecond()
método realmente llamafirst()
, entoncessecond()
, y nosecond()
, entoncesfirst()
. Vea el siguiente código de prueba:fuente
find('foo')
, luegofind('bar')
doNothing()
Sí, esto se describe en la documentación. Tienes que usar la clase InOrder .
Ejemplo (suponiendo dos simulacros ya creados):
fuente
Con BDD es
fuente