[RESOLVIDO] Junit - injeção de dependencia

5 respostas
I

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!

5 Respostas

R

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.

I

riccaio, irei pesquisar melhor seguindo sua orientação.

Obrigada!

J

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

I

Valeu Jair, claro que ajudou. Você me mostrou os caminhos das pedras, agora irei ve como eu percorro esse caminho. :slight_smile:

Obrigada!

R

Ó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.

Criado 6 de outubro de 2010
Ultima resposta 6 de out. de 2010
Respostas 5
Participantes 3