[RESOLVIDO] Mockito - Teste unitário

4 respostas Resolvido
testjava
G

Estou utilizando o Mockito para testes unitários.

Em uma determinada regras de negócio, utilizo duas consultas. Quando tento fazer o mock de duas consultas, ele sempre pega o último mock. Como faço para que o teste identifique quais consultas devem buscar ?

when(crudService.find(anyMapOf(String.class, Object.class), Matchers.<Class<NotaFiscal>> any())).thenReturn(retornoNotaFiscal());

when(crudService.find(anyMapOf(String.class, Object.class), Matchers.<Class<Pessoa>> any())).thenReturn(retornoPessoa());

4 Respostas

A

Acho que seu problema é na forma que usa o Matchers. Tente passar a classe como parâmetro do método any:

Matchers.any(NotaFiscal.class)
Matchers.any(Pessoa.class)
G

Obrigado, mas não deu.

Fiz assim:

when(crudService.find(anyMapOf(String.class, Object.class), Matchers.any(NotaFiscal.class))).thenReturn(retornoNotaFiscal());

Mas da este este erro no eclipse.

The method find(Map<String,Object>, Class<T>) in the type CrudService is not applicable for the arguments (Map<String,Object>, NotaFiscal)

A
Solucao aceita

Ah, seu método find recebe como parâmetro uma classe, nao um objeto específico. Tenta:

when(crudService.find(anyMapOf(String.class, Object.class), Matchers.eq(NotaFiscal.class))).thenReturn(retornoNotaFiscal());
G

Obrigado @AbelBueno

Criado 9 de julho de 2018
Ultima resposta 9 de jul. de 2018
Respostas 4
Participantes 2