2
respostas

Dúvida quanto ao uso de mocks com classes injetáveis

Olá,

Eu consegui acompanhar o curso sem problemas, mas me passou na cabeça uma dúvida:

Nesse curso foi ensinado a passar os mocks (de DAO, por ex) em construtores para serem usados nos métodos em que queremos testar. Como seria o caso em que esse DAO viria injetado (num EJB, por exemplo), onde não teríamos controle de sua inicialização?

Outra dúvida, se é necessário criar um construtor específico para testes em todas as classes que queremos testar só para o teste?

Obrigado!

2 respostas

Oi Hugo, tudo bem ?

Depende bastante do seu injetor de dependencias, o VRaptor, por exemplo você pode injetar as coisas passando pelo construtor que ele se vira para poder ter as referencias, isso já facilita pois nos testes eu posso passar os mocks.

Não conheço o VRaptor, mas no meu projeto, usando CDI, o MockitoAnnotations funcionou perfeitamente.

Basta anotar os mocks com @Mock, a classe que vai receber as injeções com @InjectMocks, e anotar a classe de testes com o RunWith(MockitoRunner.class)