Retorno de método simulado: ecoando argumentos de entrada
Ao testar software, pode ser benéfico fazer com que métodos simulados retornem os argumentos que são passados para eles. Esse comportamento pode ser particularmente útil ao verificar interações ou testar o fluxo de dados através de um sistema.
Para Mockito versões 1.9.5 e superiores, essa funcionalidade pode ser alcançada de forma sucinta usando expressões lambda:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
Neste caso, o parâmetro i representa uma instância InvocationOnMock, que fornece acesso ao argumentos passados para o método simulado.
Para versões anteriores do Mockito, uma resposta personalizada é necessária:
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (String) args[0];
}
});
Usando esta abordagem, o mock retornará a mesma String que foi passada para myFunction().
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3