Testes envolvendo banco de dados

Olá Pessoal.

Estava eu pensando em como criar os testes para as operações basicas do Angra http://www.guj.com.br/posts/list/57273.java quando me deparei com a seguinte situação.

Preciso escrever testes para as operacoes basicas como salvar(), atualizar(), obter() e etc.

Como voces costumam a testar operações complexas que dependem inclusive de pre configurações.

Estou fazendo +|- assim:

	boolean salvarOk;
	boolean obterOk;
	
	Aluno aluno = new Aluno();
	aluno.setNome("Ze");
	aluno.setIdade(11);
	aluno.setSexo('M');
	aluno.telefones.add( new Telefone("051","011","55784474") )
	
	try{
		sessao.salvar( aluno, true );
		salvarOk = true;
	}catch (Exception e) {
		salvarOk = false;
	}
	
	Aluno novoAluno;
	try{
		novoAluno = (Aluno) sessao.obter( Aluno.class, aluno.getChavePrimaria() );
		obterOk = true;
	}catch (Exception e) {
		obterOk = false;
	}
	
	assertTrue( salvarOk );
	assertTrue( obterOk );
	assertNotNull( novoAluno );
	assertNotNull( novoAluno.getNome() );
	assertEquals( "Ze", novoAluno.getNome() );
	assertNotNull( novoAluno.getIdade() );
	assertEquals( 11, novoAluno.getIdade() );
	assertNotNull( novoAluno.getSexo() );
	assertEquals( 'M', novoAluno.getSexo() );
	assertNotNull( novoAluno.telefones.get(0) );
	assertEquals( new Telefone("051","011","55784474"), novoAluno.telefones.get(0) );

Qual a melhor forma para isso ?

Grato a todos.

Fala AndrewAguiar,

Eu gosto muito do DbUnit: http://dbunit.sourceforge.net

[]'s
Eduardo

valew kra.