User Tools

Site Tools


spln2016:diario7:diario

SPLN

Diário de Bordo - Aula 7 - 2016-04-11

Sumário

Apresentações dos trabalhos de grupo.

Testes em módulos Perl

Testes em Módulos Perl

Correr testes Perl (tipo de output): output formato TAP {Test Anything Protocol}

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;
      # teste 1: carregar o módulo com sucesso?
use_ok ('Statistics::Frequencies') || print "Bail out:\n";
  }

Teste 2: ver se é criado um objeto

  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";

Teste 5: Ver se as palavras são adicionados com sucesso

  $table->add("palavra");
  ok exists($table->{freqs}{palavra});
  is $table->{freqs}{palavra}, 1;

Para evitar ter de mudar constantemente o número de testes planeados, é possível usar a função

  done_testing();

no final do ficheiro de testes (e remover o plano do início)

Outras formas de testar manualmente um ficheiro .t:

  prove -v t/00-load.t
spln2016/diario7/diario.txt · Last modified: 2016/04/13 14:59 by ambs