Pessoal, Bom Dia!
Comecei a fazer testes unitarios de alguns metodos com o Junit.
Preciso saber como faz injeção de dependecia.
exemplo:
@In
private EntityManager entityManager;
Como faço essa injeção pelo Junit?
Desde já agradeço!
Pessoal, Bom Dia!
Comecei a fazer testes unitarios de alguns metodos com o Junit.
Preciso saber como faz injeção de dependecia.
exemplo:
@In
private EntityManager entityManager;
Como faço essa injeção pelo Junit?
Desde já agradeço!
Nos testes unitários, acho que seria melhor vc passar o EntityManager na mão e depois fazer as asserções.
Uma estratégia comum seria criar um mock, um objeto de mentira, para depois vc verificar que os métodos foram chamados.
riccaio, irei pesquisar melhor seguindo sua orientação.
Obrigada!
Use mock. Alguns frameworks: EasyMock (o que eu uso atualmente), JMock (usei em um projeto antigo, muito legal), Mockito (nunca usei mas parece interessante), Powermock (fiz alguns testes só, é feito em cima do EasyMock).
Com o objeto Mock, você injeta ele manualmente na sua classe. No seu exemplo, você criaria um método setEntityManager e no JUnit passa o seu Mock através desse método (O ideal é colocar a anotação @ no método set ao invés do atributo).
Na internet existem vários exemplos. Quando eu comecei a estudar JUnit + Mock (já faz tempo, estou ficando velho) o dificil foi entender o conceito, após isso aplicar os frameworks é bem tranquilo
Espero ter ajudado
Valeu Jair, claro que ajudou. Você me mostrou os caminhos das pedras, agora irei ve como eu percorro esse caminho. 
Obrigada!
Ótima resposta do Jair. Acho que deu pra entender bem melhor do que a minha explicação.
Em relação aos frameworks de mock, eu prefiro o Mockito.
Já usei bastante o JMock, mas hoje eu prefiro muito mais o Mockito.