En la programación orientada a objetos, se utilizan marcos simulados como Mockito para crear un objeto simulado que simula el comportamiento de un objeto real con fines de prueba. Un escenario común en las pruebas es la necesidad de que un método simulado devuelva el mismo argumento que se le pasó.
Para las versiones de Mockito 1.9.5 y posteriores junto con Java 8 o superior, puede aprovechar las expresiones lambda para lograr esto. comportamiento:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
Aquí, represento una instancia de InvocationOnMock, y getArguments()[0] recupera el primer argumento pasado al método simulado.
Para versiones anteriores de Mockito, puede usar una implementación personalizada de Mockito Answer:
MyInterface mock = mock(MyInterface.class);
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (String) args[0];
}
});
Esta respuesta personalizada recupera el argumento pasado y lo devuelve, permitiendo que el método simulado repita la entrada recibida.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3