/ / Generowanie raportów HTML przy użyciu TAP :: Formatter :: HTML i udowodnij - perl

Generuj raporty HTML za pomocą TAP :: Formatter :: HTML i prove - perl

Mam prosty plik testowy pod /. Chcę wyświetlić podsumowanie po uruchomieniu wszystkich testów. Z jakiegoś powodu podsumowanie jest wyświetlane przed wyświetleniem wyników „04.pl”. Jak wyświetlić podsumowanie po uruchomieniu wszystkich testów?

==> t/test.t

#!/usr/bin/perl

use strict;
use warnings;

use Test::More;
plan tests => 4;

require "/home/mydir/perl5/lib/perl5/TAP/Harness.pm";
require "/home/mydir/perl5/lib/perl5/TAP/Formatter/HTML.pm";
require "/home/mydir/perl5/lib/perl5/TAP/Parser/Aggregator.pm";

my $f = TAP::Formatter::HTML->new;
$f->verbosity(-1);
$f->force_inline_css(0);

my %args = (
formatter => $f,
merge => 1,
);
my $a = TAP::Parser::Aggregator->new;
my $h = TAP::Harness->new(%args);

my @files = qw[01.pl 02.pl 03.pl 04.pl];

$a->start;
$h->aggregate_tests($a, @files);
$a->stop;

done_testing(4);

my $summary = <<"END_SUMMARY";
Total Tests:    %s
Passed:    %s
Failed:    %s
Unexpectedly succeeded: %s
END_SUMMARY

printf $summary,
scalar $a->total,
scalar $a->passed,
scalar $a->failed,
scalar $a->todo_passed;

==> Output (in html format)

1..4
ok 1 - First
ok 1 - Second
ok 1 - Third
Total Tests: 4
Passed: 4
Failed: 0
Unexpectedly succeeded: 0
ok 1 - Four

Aby uruchomić testy, użyłem narzędzia „udowodnij”: / home / mydir / perl5 / bin / prov -Q --formatter = TAP :: Formatter :: HTML> output.html

Odpowiedzi:

1 dla odpowiedzi № 1

Następujące polecenie uruchomi wszystkie pliki .t w podkatalogu t / łącząc STDOUT i STDERR (-m) i działając cicho (-Q).

prove -m -Q --state=last --formatter=TAP::Formatter::HTML t/ > output.html

Najprostszym sposobem wykonania go w Perlu jest:

$output = `prove -m -Q --state=last --formatter=TAP::Formatter::HTML t/`;

Spojrzeć na http://perldoc.perl.org/prove.html#--state zobaczyć wszystkie możliwości --state parametr.