User Tools

Site Tools


spln2016:diario7:diario

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
spln2016:diario7:diario [2016/04/13 14:52] – created ambsspln2016:diario7:diario [2016/04/13 14:59] (current) – [Testes em Módulos Perl] ambs
Line 1: Line 1:
-Aula 11 de Abril de 2016+====== SPLN ======
  
-Maquina Virtual : http://natura.di.uminho.pt/wiki/doku.php?id=spln2016:main +==== Diário de Bordo - Aula 7 - 2016-04-11 ====
-user: spln | pw: spln+
  
-Apresentações dos trabalhos de grupo+  * Maquina Virtual : http://natura.di.uminho.pt/wiki/doku.php?id=spln2016:main 
 +    * user: spln | pw: spln
  
-Correr testes perl (tipo de output): output formato TAP {Test Anything Protocol}+==== Sumário ====
  
-#ficheiro de teste com extensão *.+Apresentações dos trabalhos de grupo.
-file 00-load.t +
-#comando para executar um teste (-T define o tipo de output) +
-perl -T -Ilib t/00-load.t+
  
 +Testes em módulos Perl
  
-#módulo para criação de testes +==== Testes em Módulos Perl ====
-use Test::More;+
  
-#Begin é um bloco de código que executa antes de qualquer outro no documento +Correr testes Perl (tipo de output): output formato TAP {Test Anything Protocol} 
-BEGIN { + 
- #numero de testes definidos+São guardados em ficheiro de teste com extensão *.t 
 + 
 +     perl -T -Ilib t/00-load.t 
 +      
 +Notas: 
 +  * -T usado para "Taint mode" (modo especialmente protegido do Perl) 
 +  * -Ilib usado para incluir módulos da pasta 'lib' 
 + 
 +módulo para criação de testes 
 + 
 +    use Test::More; 
 + 
 +Begin é um bloco de código que executa antes de qualquer outro na script 
 + 
 +    BEGIN { 
 + # numero de testes planeados
  plan tests => 4;  plan tests => 4;
 +
 +        # teste 1: carregar o módulo com sucesso?
  use_ok ('Statistics::Frequencies') || print "Bail out:\n";  use_ok ('Statistics::Frequencies') || print "Bail out:\n";
-+    
- my $table = Statistics:Frequencies->new(); + 
-#ver se cria tabela vazia +Teste 2: ver se é criado um objeto 
- ok $table, "Tabela vazia";  + 
- #if ($table) {print "ok 2\n"} else {print "nok 2\n"}+    my $table = Statistics:Frequencies->new(); 
 +    ok $table, "Tabela vazia";  
 +    # if ($table) {print "ok 2\n"} else {print "not ok 2\n"} 
 + 
 +Teste 3: verificar tipo do objeto 
 + 
 +    is ref($table), "Statistics::Frequencies", "tem o tipo certo"; 
 + 
 +Teste 4: ver se a tabela tem a estrutura certa 
 + 
 +    is_deeply $table, { freqs => {} }, "tem estrutura certa";
  
-#verifica tipo +Teste 5Ver se as palavras são adicionados com sucesso
-is ref($table), "Statistics::Frequencies", "tem o tipo certo";+
  
-#ver se a tabela é uma hash vazia +    $table->add("palavra")
-#is_deeply $table, { }, "tem estrutura certa"; +    ok exists($table->{freqs}{palavra}); 
-is_deeply $table{ freqs => {} }, "tem estrutura certa";+    is $table->{freqs}{palavra}, 1;
  
 +Para evitar ter de mudar constantemente o número de testes planeados, é possível usar a função
  
-$table->add("palavra")+    done_testing();
-ok exists($table->{freqs}{palavra}); +
-is $table->{freqs}{palavra}, 1;+
  
-diag(" Testing Statistics::Frequencies $Statistics::Frequencies::VERSION")+no final do ficheiro de testes (e remover o plano do início)
  
-#done_testing(); #->para evitar ter o "plan tests" para nao andar sempre a mudar e quando terminar mudasse o plan tests+Outras formas de testar manualmente um ficheiro .t:
  
-#testar manualmente: +    prove -v t/00-load.t
-#prove t/00-load.t +
-#prove -v t/00-load.t -> testes á mão+
  
  
spln2016/diario7/diario.1460551935.txt.gz · Last modified: 2016/04/13 14:52 by ambs