1
resposta

Session só retorna objeto mockado quando Uso ANYSTRING

Seguindo o exemplo apresentado em aula não estava conseguindo fazer o a session retornar o objeto mockado da query. O motivo é que de alguma forma o metodo createQuery não estava aceitando receber a string "from Usuario u where u.nome = :nome and u.email = :email" dentro do when do mockito.

Para contornar esse problema eu usei o metodo ANYSTRING() dentro do metodo mockado ai funcionou. Porque isso aconteceu? Sendo que, no codigo da aula funcionou com uma string normal

Mockito.when(session.createQuery(Mockito.anyString())).thenReturn(query);
        Mockito.when(query.setParameter("nome","Xica da Silva")).thenReturn(query);
        Mockito.when(query.setParameter("email","xica@xxxx.com")).thenReturn(query);
        Mockito.when(query.uniqueResult()).thenReturn(user);
1 resposta

Qual erro acontece se você cravar a string "from Usuario u where u.nome = :nome and u.email = :email" no mock?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software