Junit + Dbunit + Hibernate, como fazer o tearDown

1 resposta
robertwgil

Olá pessoal, acho que estou com um problema comum aqui.

Preciso fazer testes em algumas queries do Hibernate, são queries complexas, por isso preciso dos testes.

Então eu preparo uma base com HSQLDB na memória mesmo e crio a base de dados a cada vez que inicio o teste, utilizo o
hibernate.hbm2ddl.auto = create-drop pra isso.

Quando rodo o teste separado tudo bem, ele cria a base limpa e insere os dados que configurei com DBUnit.

O problema é quando vou rodar a suite de testes, por que antes deste teste pode ter rodado outro teste que incluiu dados no banco q que vão
influenciar no teste corrente, quebrando assim meu teste.

O que eu preciso é que em cada teste a base seja zerada para que o proximo teste sempre pegue a base limpa.

Alguem sabe como fazer?

1 Resposta

A

O DBUnit tb tem a operacao DatabaseOperation.DELETE que deleta os dados do dataset que você inseriu, ou o .DELETEALL que deleta todos os dados da tabela.
O Spring facilita dando rollback nas alterações do banco de dados.

Criado 28 de julho de 2010
Ultima resposta 21 de ago. de 2010
Respostas 1
Participantes 2