Devolución de método simulado: eco de argumentos de entrada
Al probar software, puede ser beneficioso que los métodos simulados devuelvan los argumentos que se pasan a a ellos. Este comportamiento puede ser particularmente útil al verificar interacciones o probar el flujo de datos a través de un sistema.
Para las versiones 1.9.5 y superiores de Mockito, esta funcionalidad se puede lograr de manera sucinta usando expresiones lambda:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
En este caso, el parámetro i representa una instancia de InvocationOnMock, que proporciona acceso a argumentos pasados al método simulado.
Para versiones anteriores de Mockito, se requiere una respuesta personalizada:
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (String) args[0];
}
});
Al utilizar este enfoque, el simulacro devolverá la misma cadena que se pasó a myFunction().
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