Estou recebendo InvalidUseOfMatchersException quando tento fazer o uso do anyString() matcher para o valor do parâmetro mensagem do método falha() que fica no RespostaListener. Quando eu coloco uma string hard-coded funciona. Alguém poderia me dizer o porquê ?
@Test
public void deve_MostraMensagemDeFalha_QuandoFalharEnvioDeLanceParaAPI() {
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) {
RespostaListener<Void> listener = invocation.getArgument(2);
listener.falha(anyString());
return null;
}
}).when(client).propoe(any(Lance.class), anyLong(), any(RespostaListener.class));
enviadorDeLance.envia(leilao, mock(Lance.class));
verify(dialogManager).mostraToastFalhaNoEnvio();
}
A interface:
public interface RespostaListener<T> {
void sucesso(T resposta);
void falha(String mensagem);
}
Log: Invalid use of argument matchers! 0 matchers expected, 1 recorded