Na programação orientada a objetos, estruturas de simulação como Mockito são usadas para criar um objeto simulado que simula o comportamento de um objeto real para fins de teste. Um cenário comum em testes é a necessidade de um método simulado retornar o mesmo argumento que foi passado para ele.
Para versões do Mockito 1.9.5 e posteriores em conjunto com Java 8 ou superior, você pode aproveitar expressões lambda para obter este comportamento:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
Aqui, i representa uma instância de InvocationOnMock e getArguments()[0] recupera o primeiro argumento passado para o método simulado.
Para versões mais antigas do Mockito, você pode usar uma implementação personalizada do 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 resposta personalizada recupera o argumento passado e o retorna, permitindo que o método simulado ecoe a entrada recebida.
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