Beruflich Dokumente
Kultur Dokumente
http://gedeveloper.blogspot.com.br/2009/06/testes-unitarios-...
Compartilhar
Denunciar abuso
Prximo blog
Criar um blog
Login
Instalar ZeosLib no Delphi 2009 e Delphi 2010 Na minha opinio um dos melhores componentes para acesso a banco de dados o Zeoslib. Alm de fornecer acesso diversos SGDB, esse c... Gerenciamento de Projetos com Scrum Scrum sem dvida a metodologia gil que vem ganhando mais destaque ultimamente, especialmente depois de casos de sucesso com o Goog... Voc Conhece MariaDB SQL ? Voc j ouviu falar sobre esse banco de dados ?No? Ento saiba um pouco mais sobre o assunto: O MariaDB um novo banco de dados, de...
ARQUIVO DO BLOG
Arquivo do blog
LABELS BLOG ARCHIVE
As ferramentas que do suporte a esse tipo de teste inicialmente surgiram para o Java e posteriormente foram traduzidas para outras linguagens e ambientes populares como Delphi e .NET. Se em Java temos o JUnit, para Delphi win32 temos o DUnit e para .NET temos o NUnit. DUnit Vou focar o artigo de hoje no DUnit com Delphi 7, visto que a maioria do desenvolvimento em Delphi ainda feito sobre win32 e com a verso 7 do Delphi. O framework pode ser baixado em http://dunit.sourceforge.net/ A instalao simples. Descompacte a o contedo do arquivo para alguma pasta e adicione no library path do Delphi o caminho \DUnit\Source Exemplo
Dezembro (3)
Delphi
(14)
Novembro (2) Outubro (1) Setembro (3) Agosto (9) Julho (2) Junho (6) Turbinando o Delphi com CnWizzard s Sopa de letrinhas
Desenvolvimento (5)
Dicas
(3)
(11)
Git
Informtica
(6)
mtodos geis
Os mais puristas em desenvolvimento TDD (Test Driven Development), desenvolvimento diridigo por testes, e XP (Extreme Programming) pregam que primeiramente devemos construir os testes para determinada classe e rod-lo. Dessa forma nos certificamos que os testes daro errado no inicio e s ento se inicia o desenvolvimento da classe a ser testada. Bem, para quem vem de uma cultura onde arrastar e soltar a melhor coisa do mundo, pra dar um n na cabea no ? Como vou testar algo que no est pronto.
(3)
Mercado de tecnologia
1 of 4
03-06-2012 12:00
http://gedeveloper.blogspot.com.br/2009/06/testes-unitarios-...
Software (4) tem muito trabalho e pouca m... Evento Microsoft Maio (2)
Bem, eu no sou purista e sou da opinio que devemos tirar o que h de melhor nisso e particularmente primeiro fao a classe e depois a testo. Inicie um novo projeto no delphi e adicione uma unit. Nessa unit insira a classe da Listagem 1.
Tecnologia
Testes (3)
(10)
xp (3)
TNotas = class private FNota1: integer; FNota2: integer; FNota3: integer; FNota4: integer; procedure SetNota1(const Value: integer); procedure SetNota2(const Value: integer); procedure SetNota3(const Value: integer); procedure SetNota4(const Value: integer); public property Nota1: integer read FNota1 write SetNota1; property Nota2: integer read FNota2 write SetNota2; property Nota3: integer read FNota3 write SetNota3; property Nota4: integer read FNota4 write SetNota4; function Media: Real; end;
Incio Downloads
Listagem 2. Mtodo Media function TNotas.Media: Real; begin Result := (Nota1 + Nota2 + Nota3 + Nota4)/4; end;
Testando a Classe Feche a aplicao e inicie um novo projeto, removendo deste o Form1, se criado. Acesse Project -> View Source e ajuste o cdigo do projeto de acordo com a Listagem 3.
Listagem 3. Preparando para utilizar DUnit uses Forms, TestFrameWork, GuiTestRunner; {$R *.res} begin Application.Initialize; GUITestRunner.RunRegisteredTests; end.
Salve o projeto e adicione uma nova Unit, nela vamos escrever o teste necessrio, conforme a Listagem 4.
2 of 4
03-06-2012 12:00
http://gedeveloper.blogspot.com.br/2009/06/testes-unitarios-...
Listagem 4. Testes uses TestFramework, Model; type TNotasTestes = class(TTestCase) private FNotas: TNotas; protected procedure SetUp; override; procedure TearDown; override; published procedure TestMedia; end;
Observe que para testar uma classe, criamos outra de teste. Embora possa parecer trabalhoso e custoso, os benefcios oferecidos so compensadores. Toda classe de teste deve derivar de TTestCase, que apresenta dois mtodos que podem ser sobrecarregados e so muito teis. O SetUp e o TearDown. O Setup ser chamado antes de cada teste publicado ser executado. Assim, podemos preparar os testes com informaes necessrias antes de sua execuo. O TearDown, chamado depois que o teste realizado, podendo ser utilizado para liberar recursos alocados pelo teste. Pensando em nosso teste vemos que precisaremos de uma instncia de TNotas seja criada e aos o teste seja liberada. Utilizaremos ento o SetUp e TearDown para isso. Implemente o mtodo TestMedia conforme a Listagem 5.
Listagem 5. Codificando o teste procedure TNotasTestes.TestMedia; begin FNotas.Nota1 := 10; FNotas.Nota2 := 10; FNotas.Nota3 := 10; FNotas.Nota4 := 10; CheckEquals(10,FNotas.Media); end;
O framework DUnit oferece vrios mtodos que utilizamos para realizar testes, em nosso exemplo utilizamos o CheckEquals. CheckEquals vai verificar a igualdade dos valores passados, havendo diferena o teste identificado como falho. Antes de executarmos, preciso registrar o teste no framework, isso feito na seo initialization, veja a Listagem 6
3 of 4
03-06-2012 12:00
http://gedeveloper.blogspot.com.br/2009/06/testes-unitarios-...
Digamos que precisamos alterar nossa classe de Notas, aumentar mais uma nota, de 4 para 5. E na correria apenas acrescentamos mais uma propriedade Nota5, esquecendo de ajustar a rotina do calculo. Ento ajustamos o teste para a nova situao, conforme a Listagem 7.
Listagem 7. Novo teste procedure TNotasTestes.TestMedia; begin FNotas.Nota1 := 10; FNotas.Nota2 := 10; FNotas.Nota3 := 10; FNotas.Nota4 := 10; FNotas.Nota5 := 5; CheckEquals(9,FNotas.Media); end;
Execute o teste, o mesmo ir falhar. Ao detectarmos a falha, podemos ento arrumar o clculo e executar novamente o teste, ento ele passar. Concluso Imagine em um sistema complexo como que os testes podem facilitar nossa vida, pegando as falhas que podemos causar. No fcil deixar o jeito de fazer as coisas como fazemos e partir para um novo modelo de desenvolvimento, mas com dedicao e boa vontade conseguimos resultados que nunca esperamos. At mais ! Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2739
Postado por Geversom Sousa s 09:18 Marcadores: Delphi
Comentar como:
Publicar
Postagem mais recente
4 of 4
03-06-2012 12:00