Pessoal, apesar de estar pesquisando bastante estou tendo bastante dificuldade em implementar um projeto de testes.
Já absorvi alguns conceitos, enfim o problema é o seguinte:
Tenho alguns metodos q precisam ser testados com os dados do banco de dados.
Exportei atraves do DBUnit a tabela em questão e criei o arquivo XML e tb criei o metodo que lê esse XML.
O ponto é: como agora chamo o metodo q esta implementando na Interface e esse metodo entenda q os dados a serem pesquisados são os q estão no XML e não direto do banco.
na Classe teste:
[code]public void exportXML()
throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException,
IOException, DatabaseUnitException {
//partial database export
IDatabaseConnection connection = new DatabaseConnection(DBUnitUtil.getDefaultConnection());
QueryDataSet dataSet = new QueryDataSet(connection);
dataSet.addTable("organization", "SELECT * FROM ORGANIZATION");
FlatXmlDataSet.write(dataSet, new FileOutputStream("c:\\organization.dataset.xml"));
System.out.println("Export DataBase finalizado.");
}[/code]
protected IDataSet getDataSet() throws Exception {
IDataSetProducer producer = new FlatXmlProducer(new InputSource("c:\\organization.dataset.xml"));
IDataSet dataSet = new StreamingDataSet(producer);
return dataSet;
}
public void setup() throws Exception {
this.exportXML();
}
[code]@Test
public void searchAllOrganizationSuccess() throws Exception {
this.getDataSet();
//chamar metodo searchAll();
System.out.println("Método searchAll executado com sucesso.");
}
[/code]
–Qual a melhor maneira de implementar (dá para chamar direto da interface ou necessario um mock) e chamar o metodo SearchAll que esta na interface:
[code]public interface OrganizationManagerInterface {
/**
* Executes search for the Organization Screen
* @return List Organization
*/
List<Organization> searchAll();
}[/code]