Objetos simulados en Java
Los objetos simulados ayudan a simular y verificar objetos reales sin ejecutar el código real en esos objetos. Puede configurar un simulacro para devolver resultados específicos en las llamadas al método y verificar fácilmente si se llamó al método o no.
Como se discutió anteriormente, los objetos simulados se utilizan para pruebas unitarias. Si tiene un objeto cuyos métodos desea probar y esos métodos dependen de otros objetos, entonces, en ese caso, puede crear una simulación de la dependencia en lugar de la instancia real de esa dependencia, y puede probar sus objetos en aislamiento.
Objetos simulados en Java
Los marcos comunes de Java para la creación de objetos simulados incluyen JMock y EasyMock. Estos dos marcos generalmente le permiten crear objetos simulados y puede definir su comportamiento en consecuencia para saber qué esperar exactamente de los valores devueltos y el efecto.
Por ejemplo, un caso de uso común podría ser en una aplicación Modelo-Vista-Controlador (MVC) donde tenemos una capa de Objetos de acceso a datos (DAO) y un controlador que realiza la lógica empresarial. Si desea probar el controlador y el controlador depende de un objeto de acceso a datos (DAO), puede crear un objeto simulado del DAO que devolverá objetos ficticios a su controlador.
Los objetos simulados ayudan a probar la funcionalidad de una aplicación que desea probar porque podemos lograr todas las dependencias burlándonos de esos objetos dependientes.
Y si pasan la prueba, es seguro que la unidad bajo esta prueba es correcta.
Una cosa importante a considerar es que los objetos simulados implementan la misma interfaz que los objetos reales de los que se burlan. Esto permite que su código los trate a través del tipo de interfaz como si fueran instancias reales.
Para usar objetos simulados, importe la biblioteca Mockito
; importar org.mockito.Mockito.* estático;
le permite usar el método mock()
, que ayuda a crear instancias de objetos simulados.
El siguiente paso es la creación del simulacro y la sintaxis es List mockedList = mock(List.class);
. Ahora, para agregar algunos valores, usamos el objeto definido de List
de la siguiente manera, mockedList.add("Value one")
, y lo verificamos usando el método verify()
como sigue, verify(mockedList).add("one")
.
// Import Library
import static org.mockito.Mockito.*;
// Create Mock
List mockedList = mock(List.class);
// using mock object
mockedList.add("one");
mockedList.clear();
// Varifying
verify(mockedList).add("one");
verify(mockedList).clear();
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn