Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEmily Anzures Alterado mais de 10 anos atrás
1
DBUnit Framework Componentes: Fábio Gomes Claver Pari Eni Conde
SENAC – Curso de Pós-graduação em Engenharia de Software com J2EE Módulo: Web Application Interface - Turma 2 Prof. Ismael DBUnit Framework Componentes: Fábio Gomes Claver Pari Eni Conde
2
Framework O que é Framework?
- é um conjunto de conceitos usados para resolver um problema de um domínio específico. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. — FAYAD e SCHMIDT O Framework conceitual não se trata de um software executável, mas sim de um modelo de dados para um domínio. Os Framework tornam mais eficientes a solução de problemas.
3
JUnit Framework É utilizado por aqueles que desejam implementar testes unitários em Java. Com JUnit, o programador tem uma ferramenta que o ajuda a eliminar os erros de seu código de maneira automatizada. Uma vez programado pode ser executado quantas vezes necessário. Tipicamente um teste unitário executa um método individualmente e compara uma saída conhecida após o processamento da mesma. Por exemplo: Assert.assertEquals(2 , somaMetodo(1,1)); Assert.assertEquals("A lista vazia deve ter 0 elementos", 0, listaVazia.size());
4
DBUnit Framework DbUnit é mais abrangente que o popular JUnit test Framework. Além de implementar todas as suas funcionalidades acrescenta outras específicas para Banco de Dados. Auxilia de forma racional a execução de Testes automatizados que utilizam Banco de Dados. Mantem o Banco de Dados no seu estado inicial evitando dados corrompidos por falhas da fase de teste. Sua realização é importante no sentido de gerir os dados dos testes. Pode manipular grande massa de dados.
5
DBUnit Framework Possui mecanismos simples para exportar e importar tabelas para posterior utilização. Exportando uma tabela public void testExportData() throws Exception { IDataSet dataSet = getConnection().createDataSet(new String[] { TABLE_NAME }); URL url = DatabaseTestCase.class.getResource("/input.xml"); assertNotNull(url); File inputFile = new File(url.getPath()); File outputFile = new File(inputFile.getParent(), "output.xml"); FlatXmlDataSet.write(dataSet, new FileOutputStream(outputFile)); assertEquals(FileUtils.readFileToString(inputFile, "UTF8"), FileUtils.readFileToString(outputFile, "UTF8")); }
6
DBUnit Framework O DBUnit permite que arquivos XML possam ser criados manualmente, a partir do zero. Ou ainda carregados a partir de uma tabela. Possui um mecanismo simples, baseado em XML, para carga de dados. Criando um arquivo XML protected IDataSet getDataSet() throws Exception { loadedDataSet = new FlatXmlDataSet( this.getClass().getClassLoader().getResourceAsStream("input.xml")); return loadedDataSet; }
7
DBUnit Framework Possui métodos para comparação entre tabelas.
Comparando tabelas public class Assertion { public static void assertEquals(ITable expected, ITable actual) public static void assertEquals(IDataSet expected, IDataSet actual) } Assertion.assertEquals(new SortedTable(expected), new SortedTable(actual, expected.getTableMetaData())); public void testCompareQuery() throws Exception QueryDataSet queryDataSet = new QueryDataSet(getConnection()); queryDataSet.addTable(TABLE_NAME, "SELECT * FROM “ + TABLE_NAME); Assertion.assertEquals(loadedDataSet, queryDataSet);
8
DBUnit Framework O ciclo de vida do Teste DbUnit
O cenário básico para a execução de teste com DbUnit é o seguinte: remover qualquer dado antigo, de testes anteriores, no banco de dados. carregar alguns dados do sistema de arquivos para o banco de dados. executar alguns testes, utilizando métodos DbUnit para fazer as comparações.
9
DBUnit Framework O ciclo de vida do Teste DbUnit
As duas primeiras operações ocorrem durante a execução do método JUnit setup(). Os testes podem rodar um pouco mais devagar, mas a idéia é que o SetUp somente carregue os dados para um teste específico, ao invés dos dados requeridos para todos os testes. Note que a restauração do banco é feita antes de executar os testes e não após. Esta é a prática recomendada pelos autores do DbUnit.
10
DBUnit Framework Permite ver como o métodos setUp() e tearDown() são executados no DatabaseTestCase classe. protected void setUp() throws Exception { super.setUp(); executeOperation(getSetUpOperation()); } protected void tearDown() throws Exception super.tearDown(); executeOperation(getTearDownOperation());
11
DBUnit Framework Conectando o banco
protected IDatabaseConnection getConnection() throws Exception { Class driverClass = Class.forName("com.mysql.jdbc.Driver"); Connection jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/Framework Database", "root", “password"); return new DatabaseConnection(jdbcConnection); }
12
DBUnit Framework Boas práticas
Unit Test Frameworks - é um elemento chave Importante para Programação em Desenvolvimento Ágil. Elas ajudam a garantir baixo nível de correção de código, reduzir tempo de ciclo do desenvolvimento do software, melhorar a produtividade do desenvolvedor, e produzir software mais robustos.
13
DBUnit Framework Resumo
DbUnit é uma ferramenta poderosa e simples de usar, permitindo o desenvolvimento de aplicações de bancos de dados. DbUnit é projetado em torno de interfaces Java flexíveis, tornando fácil adaptar aos requisitos da aplicação. É simples incluir o DbUnit como parte do processo de desenvolvimento da sua aplicação de banco de dados e aproveitar as vantagens das suas poderosas caracteristicas de economia de tempo.
14
DBUnit Framework Resumo
O DbUnit framework tem a habilidade de gerenciar o estado de um banco de dados, em que através de testes de ciclo de vida, permite a criação e adoção de test-case rápidos. Os testes que utilizam o framework do DbUnit são facilmente automatizados. DbUnit possui design elegante e por ser de fácil aprendizado, logo faz parte de uma estratégia eficaz de testes, proporcionando código com estabilidade aumentando dramaticamente a confiança de sua equipe de desenvolvimento.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.