Objetos simulados en Java

Zeeshan Afridi 11 diciembre 2023
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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn