| Mockito (o basta de EasyMock) |
|
|
|
| Escrito por Leonardo De Seta | |||||||||||||||||||||||||
| Sábado 20 de Septiembre de 2008 22:22 | |||||||||||||||||||||||||
Uno de los patrones más comunes en los frameworks de testing con mocks es el famoso expect-run-verify (o, como se hace en EasyMock, record-replay-verify). Y con el tiempo se está volviendo algo de lo más molesto... veamos porque:
Presentando MockitoMockito es una librería Java para la creación de Objetos Mock muy usados para el testeo unitario en TDD, basado en EasyMock. Mockito fue creado con el objetivo de simplificar y solucionar algunos de los temas antes mencionados. EasyMock y Mockito pueden hacer exactamente las mismas cosas, pero Mockito tiene un API más natural y práctico de usar. Las características principales de Mockito son:
Un ejemplo con MockitoVeamos un ejemplo sencillo de invocación a un método import static org.mockito.Mockito.*; ..... //creamos el mock ArrayList instance = mock(ArrayList.class); //ejecutamos la lógica a probar instance.add("hola"); //verificamos verify(instance).add("hola"); Ahora crearemos un stub de un método para que devuelva valores import static org.mockito.Mockito.*; ..... //creamos el mock y el stub ArrayList instance = mock(ArrayList.class); doReturn("hola mundo").when(instance).get(0); //ejecutamos la lógica a probar instance.get(0); //verificamos que se hayan invocado los métodos verify(instance).get(0); StubsLa sintaxis para crear stubs es más simple de leer que en EasyMock, evitando varios paréntesis anidados. Sin embargo, es posible usar una sintáxis parecida a EasyMock. Por ejemplo, las dos líneas siguientes son equivalentes para mockear un método del ArrayList:
doReturn("hola mundo").when(instance).get(0); stub(instance.get(0)).toReturn("hola mundo"); EasyMock vs. MockitoMockito les resultará muy familiar para quienes conozcan EasyMock. Y es que Mockito puede hacer todo lo que EasyMock, y de hecho es un fork de este proyecto. Simplemente cambia algunos comportamientos para facilitar su uso en el día a día. Sin embargo, hay algunas diferencias. En Mockito:
La página Mockito vs. EasyMock tiene muchos ejemplos comparando el uso de ambos frameworks. Proyecto de ejemploPueden descargar un proyecto de ejemplo de Mockito, donde se muestran diferentes invocaciones e integración con JUnit y contiene todas las librerías necesarias para empezar. Por otro lado, pueden descargar la librería desde la página oficial de Mockito, donde también encontrarán más ejemplos.
Powered by !JoomlaComment 3.26
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |
|||||||||||||||||||||||||
Por el mismo motivo, si las causas de...
Me mato el mensaje subliminal en este...
Yo creo que la falta de compromiso (y...
- Como comento pocho, si usas eclipse...
yo el que uso, es un link:http://jad...
Es para evitar precisamente este tipo...