JUnit Com CDI
Fala Galera!
É posssível utilizar JUnit com CDI?
É posssível utilizar JUnit com CDI?
Wellington
Curtidas 0
Respostas
Angelo Santos
22/11/2016
Olá Wellington
Sim, é possível, utilizando CDI Weld. Basta antes de escrever o teste, criar um Junit Class Runner que irá prover as instâncias do objetos injetados na classe de test, conforme abaixo.
Depois é só anotar a classe de teste com @RunWith(WeldJunit4Runner.class) e pronto!.
Haaa, Não se esqueça de adicionar a dependência do JUnit no arquivo pom.xml caso esteja utilizando Maven.
Sim, é possível, utilizando CDI Weld. Basta antes de escrever o teste, criar um Junit Class Runner que irá prover as instâncias do objetos injetados na classe de test, conforme abaixo.
public class WeldJUnit4Runner extends BlockJUnit4ClassRunner {
private final Class clasz;
private final Weld weld;
private final WeldContainer container;
public WeldJUnit4Runner(final Class clasz) throws InitializationError {
super(clasz);
this.clasz= clasz;
this.weld = new Weld();
this.container = weld.initialize();
}
@Override
protected Object createTest() throws Exception {
final Object test = container.instance().select(clasz).get();
return test;
}
}Depois é só anotar a classe de teste com @RunWith(WeldJunit4Runner.class) e pronto!.
Haaa, Não se esqueça de adicionar a dependência do JUnit no arquivo pom.xml caso esteja utilizando Maven.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>provided</scope>
</dependency>GOSTEI 0