testes efetivos com dbunit
Post on 04-Jul-2015
374 Views
Preview:
TRANSCRIPT
Testes efetivoscom DBUnit
José Carlos
Testes efetivoscom DBUnit
José Carlos
● Surgimento● Características● Motivação● Exemplo da importância● Show me the code!● Créditos
Roteiro
● DBUnit foi criado em 2002 por Manuel
Laflamme
Surgimento
● Testes isolados para cada cenário
● Controle de dependências externas
● Extensão do JUnit
Características
● Possibilita rodar testes sem alterar o estado do banco pré-teste.
DataBasetestCase
Características
Estado Pré-TestegetSetUpOperation()
Isolameto cenário RunTime
ConclusãogetTearDownOperation()
● Framework simples, mas de suma importância para automatização.
● Mocks para simular o estado dos dados em banco pode não ser efetivo.
● Reduz o esforço do desenvolvedor em criar estado de um banco de dados na mão.
Motivação
● Determinada feature que engloba também criação de um parâmetro no banco de dados.
● Desenvolvedor não fez o script que cria o parâmetro no banco.
Exemplo da importância
@Test public void deveCarregarParametroX() {
...
when(parametroService.carregarPor(id)).thenReturn(parametro);.
assertEquals(descricao, parametro.getDescricao());.
}
Exemplo da importância
● Desenvolvedor não validou se o parâmetro existia no banco de dados.
O que à ausência desse paramêtro pode provocar?
Exemplo da importância
BUG!
● Equipe de QA vai ser responsável por descobrir esse bug.
● Importância teste de integração com DBUnit.
Exemplo da importância
Show me the code!
● http://www.dbunit.org/
● http://dbunit.wikidot.com/
● http://dbunit.sourceforge.net/howto.html
● http://springtestdbunit.github.io/spring-test-dbunit/
● http://www.onjava.com/pub/a/onjava/2004/01/21/dbunit.html
Créditos
Obrigado!
● Surgimento● Características● Motivação● Exemplo da importância● Show me the code!● Créditos
Roteiro
● DBUnit foi criado em 2002 por Manuel
Laflamme
Surgimento
● Testes isolados para cada cenário
● Controle de dependências externas
● Extensão do JUnit
Características
● Possibilita rodar testes sem alterar o estado do banco pré-teste.
DataBasetestCase
Características
Estado Pré-TestegetSetUpOperation()
Isolameto cenário RunTime
ConclusãogetTearDownOperation()
● Framework simples, mas de suma importância para automatização.
● Mocks para simular o estado dos dados em banco pode não ser efetivo.
● Reduz o esforço do desenvolvedor em criar estado de um banco de dados na mão.
Motivação
● Determinada feature que engloba também criação de um parâmetro no banco de dados.
● Desenvolvedor não fez o script que cria o parâmetro no banco.
Exemplo da importância
@Test public void deveCarregarParametroX() {
...
when(parametroService.carregarPor(id)).thenReturn(parametro);.
assertEquals(descricao, parametro.getDescricao());.
}
Exemplo da importância
● Desenvolvedor não validou se o parâmetro existia no banco de dados.
O que à ausência desse paramêtro pode provocar?
Exemplo da importância
BUG!
● Equipe de QA vai ser responsável por descobrir esse bug.
● Importância teste de integração com DBUnit.
Exemplo da importância
Show me the code!
● http://www.dbunit.org/
● http://dbunit.wikidot.com/
● http://dbunit.sourceforge.net/howto.html
● http://springtestdbunit.github.io/spring-test-dbunit/
● http://www.onjava.com/pub/a/onjava/2004/01/21/dbunit.html
Créditos
Obrigado!
top related