GARANTIR DESCONTO

Fórum JUnit Com CDI #571349

22/11/2016

0

Fala Galera!
É posssível utilizar JUnit com CDI?
Wellington

Wellington

Responder

Posts

22/11/2016

Angelo Santos

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.

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>
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar