Test JUnit4

0 respostas
hesenger

Fiz uma classe que lê alguns SQLs e os executa, sendo chamada de
DatabaseManager.

Mas o que está me intrigando é uma coisa na seguinte classe de teste:

public class DatabaseManagerTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		DatabaseManager manager = DatabaseManager.getManager();
		manager.execute("test.create");
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		DatabaseManager manager = DatabaseManager.getManager();
		manager.execute("test.drop");
	}
...

Não conheço muito do JUnit, mas acho que o método assinado com @AfterClass deveria
ser executado no final do teste todo não é?

O problema é que ele até chega a passar ali, mas não faz o drop da tabela, ela continua lá,
então quando executo novamente dá erro no setUpBeforeClass() pq a tabela já existe.
O problema não é no manager.execute(“test.drop”), pq se executo ele assim no setUpBeforeClass()
ele funciona:

try {
			manager.execute("test.create");
		} catch (Exception e) {
			manager.execute("test.drop");
			manager.execute("test.create");
		}

Alguém sabe pq não funciona no tearDownAfterClass()??

Obrigado…

Criado 6 de novembro de 2008
Respostas 0
Participantes 1