El objetivo de un Test unitario es probar la responsabilidad de una clase/componente pero normalmente una clase se relaciona con otras clases que deben ser instancionadas y funcionar correctamente (en un contexto Web necesitamos acceso a la sesión, request,…)
En muchos casos para simplificar el test unitario y controlar todos los aspectos es muy útil reemplazar los objetos que colaboran con dobles.
Estos dobles pueden ser de varios tipos:
· Dummy : es un objeto vacío (normalmente se usa solo para la compilación)
· Fake: es un objeto que tienen una implementación functional simplificada solo para cumplir el test (como una base de datos en memoria)
· Stub: un objeto con comportamiento codificado para un test o grupos de tests
· Mock: un objeto que tiene el comportamiento esperado para el component que suplanta y verifica las interacciones en su ciclo de vida
· Spy : un mock creado como proxy a un objeto real de modo que algunos métodos puedan set stubeados.
Mockito (además de ser la bebida preferida de Jesús, juor,juor) es un framework de Mocks muy útil para crear mocks y espías de forma sencilla y potente.
Para usar Mockito en nuestro proyecto simplemente añadiré la dependencia Maven:
Mockito puede usarse de dos formas:
1) Con el método estático mock
![]()
2) Con la anotación @Mock (en este caso nuestro runner JUnit debe ser MockitoJUnit4Runner)
![]()
Cómo funciona Mockito
Con los métodos Mockito.when() y thenReturn() Mockito nos permite decidir cómo debe comportarse el Mock:
Veamos un ejemplo sencillo:
Mockito ofrece estos métodos then:
Mockito ofrece estos comportamientos:
Podéis seguir conociendo Mockito en su documentación y bien con este libro:
(link)







Deja un comentario