Pregunta ¿Cuál es la diferencia entre mock () y stub () cuando se usa Mockito?


Ambos parecen hacer lo mismo: ¿por qué usarías uno en preferencia al otro?

org.mockito.Mockito.stub()
org.mockito.Mockito.mock()

18
2018-03-10 14:36


origen


Respuestas:


Puede usar un objeto simulado para verificar que lo ha llamado de la manera esperada. En Mockito, los objetos burlados se envían automáticamente y la verificación se realiza de forma explícita.

De Mockito's "¿Por qué necesitamos otro marco de burla?":

 Separation of stubbing and verification. Should let me code in line with intuition: 
 stub before execution, selectively verify interactions afterwards. I don’t 
 want any verification-related code before execution.

Puede resguardar el comportamiento de las llamadas antes de llamarlas. Por ejemplo (desde la página de inicio de Mockito):

 when( mockedList.get(0)).thenReturn( "first" );

Puede verificar las interacciones con los objetos burlados después de haberlos llamado. Por ejemplo:

 verify( mockedList ).add("one");

16
2018-03-10 14:37