1
resposta

Testes unitários utilizando spring injetando o entity manager

Olá. Gostaria de saber como faço para testar se os métodos de minha classe dao estão funcionando de forma adequada utilizando o spring com o entity manager?

Na vdd eu gostaria de criar uma classe de testes e verificar o comportamento de cada método (add, lista, etc...). Porém, não entendi como fazê-lo quando estamos utilizando o spring + JPA + tomcat.

1 resposta

Fala ai Jader de boa ?

Cara algo bem comum de fazermos é criar um outro arquivo

spring-context.xml

Só que dessa vez com o sufixo test no final:

spring-context-test.xml

Aqui você cria um banco de dados para teste e como a injeção vai ser feita pelo spring ele sabe qual é o contexto que estará.

E nos seus testes de dao você pode usar essas duas anotações sobre a classe de teste:

@ContextConfiguration(locations = "classpath:spring-context-test.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class SeuDAOTest{

    @Autowired
    private SeuDao seuDao;
    //testes 
}

Isso deve solucionar seu problema