"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo simular los retornos del método a los argumentos de entrada de eco en Mockito?

¿Cómo simular los retornos del método a los argumentos de entrada de eco en Mockito?

Publicado el 2024-11-04
Navegar:237

How to Mock Method Returns to Echo Input Arguments in Mockito?

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().

Declaración de liberación Este artículo se reimprime en: 1729678268 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

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