2011-03-10 7 views
16

Ambos parecen hacer lo mismo: ¿por qué usarías uno en preferencia al otro?¿Cuál es la diferencia entre mock() y stub() cuando se usa Mockito?

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

el método stub está en desuso, verifique los documentos. La nueva forma de anular una llamada de método es lo que muestra Andy. – Augusto

+0

ah ok - gracias, ¡eso tiene más sentido! – Tom

+0

@Augusto ¿Alguna idea de por qué 'stub' ha quedado en desuso? Solo tengo curiosidad por saber cuáles son las diferencias clave. Traté de encontrar algo en la lista de correo del proyecto, pero no es tan fácil. – toniedzwiedz

Respuesta

15

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

De Mockito de "Why do we need another mocking framework?":

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 stub el comportamiento de las llamadas antes de que sean llamados. Por ejemplo (desde la página principal Mockito):

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

puede verificar las interacciones con los objetos imitó después se les llama. Por ejemplo:

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

lo siento, me refiero a los métodos, he actualizado el título y la pregunta. – Tom

+1

He aceptado esta respuesta, ya que es información útil, pero la respuesta real a mi pregunta es que dada por Augusto - stub() está en desuso. – Tom

Cuestiones relacionadas