====== SPLN ====== ==== Diário de Bordo - Aula 7 - 2016-04-11 ==== * Maquina Virtual : http://natura.di.uminho.pt/wiki/doku.php?id=spln2016:main * user: spln | pw: spln ==== 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