[MJ47] Testes Automatizados

1 resposta
emanuelCruz

Achei muito bom o artigo “Testes Automatizados”.
Porém, quanto aos testes com DBUnit, a listagem 8 não mostra o código completo, conforme abaixo:

private Session setUpDB(){
		try {
			Class.forName("org.hsqldb.jdbcDriver");
			Connection jdbcConnection = DriverManager.getConnection("jdbc:hsqldb:mem:testdb","sa","");
			IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
			IDataSet dataSet = new FlatXmlDataSet(new File("dados_pessoa.xml"));
			DatabaseOperation.CLEAN_INSERT.execute(connection, dataSet);
			
			QueryDataSet databaseSet = new QueryDataSet(connection);
			
			// ... codigo para obter a session do Hibernate ...
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

Alguém sabe me dizer como consigo uma Session a partir daí ?

Obrigado

1 Resposta

Alexandre_Gazola

Olá Emanuel,

obrigado pelo feedback!

A ideia do artigo não era aprofundar em nenhuma ferramenta, mas apenas dar uma visão geral… por isso o código das listagens é mais para dar uma ideia mesmo.

Neste caso do setUpDb, deve-se obter a sessão Hibernate da forma padrão mesmo:

sessionFactory = new HibernateConfiguration().getConfiguration()
					.configure(getHibernateConfiguration())
					.buildSessionFactory();

return sessionFactory.openSession();

Este código ficaria num HibernateUtil da vida e usaria uma configuração com o banco de dados de testes (HSQLDb em memória).

Na verdade, o melhor seria obter a session do Hibernate primeiramente desta forma e, a partir dela, obter a conexão jdbc (via método connection()) para usar
com o DbUnit.

Espero ter ajudado.

Abraços!

Criado 27 de maio de 2011
Ultima resposta 13 de jun. de 2011
Respostas 1
Participantes 2