Teste unitário

Oni92

Membro
public void getAluno() throws SQLException {
connect();
Statement statement = con.createStatement();
String sql = "SELECT nome from Aluno order by+direction"
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
System.out.println("Aluno: " + rs.getString(1));
}
statement.close();
rs.close();
closeConnect();
}





Como é que fica a minha classe de teste para testar este método? o que este método faz é ir à base de dados através de um select e o resultado mostrar uma lista ordenada de alunos por ordem crescente ou descente..
como eu testo para verificar que o resultado do select em relação à base de dados é o expectável?
 
O metodo GetAluno (talvez se devesse chamar GetAlunos, visto que retorna uma lista de alunos?) nao deveria retornar void, mas sim algo do genero IList<Aluno>.
Para testar o metodo, podes simplesmente executar a query directamente no setup do teu teste, seguido de executares o metodo e comparares os dois resultados.
Dado que o teu metodo GetAluno so vai buscar alunos a base de dados, um teste unitario aqui é um bocado irrelevante, ja que estaras a testar a funcionalidade da base de dados... Talvez querias testar a funcionalidade que chama o metodo GetAlunos?

O metodo GetAluno (talvez se devesse chamar GetAlunos, visto que retorna varios alunos?) suponho que faca parte de uma classe que abstrai as queries a base de dados. Se assim for, essa classe deveria também implementar uma interface (onde GetAlunos esta descrito). GetAlunos deveria também receber como parametro o proprio conector da base de dados para podermos mais tarde simular a base de dados ou facilmente mudar de base de dados, etc.
 
Última edição:
Back
Topo