Я запускаю некоторые тесты TAP, используя TAP :: Formatter :: HTML.perl TAP testing: как получить счет неудавшихся тестов из TAP :: Formatter :: HTML output?
Этот модуль CPAN создает красивые динамические HTML-отчеты, но я хочу использовать количество пройденных тестов, неудачных тестов и т. Д. - вставить их в базу данных после завершения всех тестов.
Код ниже не работает. Он ничего не выводит на консоль. Я признаю, что для строк 10 и после этого я просто удалил некоторый код из описаний POD классов TAP :: *.
Перед тем, как погрузиться в исходный код агрегатора, Жгут или классов Formatter и подклассов, я лучше спросить:
ли кто-нибудь здесь знает, как сделать этот код работать?
my $cons = TAP::Formatter::Console->new();
my $fmt = TAP::Formatter::HTML->new;
$fmt->css_uris(\@css_uris)->inline_css($my_css)->js_uris($js_uris)->inline_js($inline_js);
my $harness = TAP::Harness->new({ formatter => $fmt, merge => 1 });
$fmt->output_file($outfile);
$harness->test_args(["--browser=$browser", "--config=$config"]);
my $aggregator = TAP::Parser::Aggregator->new;
$aggregator->start();
$harness->runtests(@tests);
# $harness->aggregate_tests($aggregator, @tests);
$aggregator->stop();
# print $fmt->summary($aggregator);
my $txt = $cons->summary($aggregator);
my $summary = <<'END_SUMMARY';
Passed: %s
Failed: %s
Unexpectedly succeeded: %s
END_SUMMARY
printf $summary,
scalar $aggregator->passed,
scalar $aggregator->failed,
scalar $aggregator->todo_passed;
#$failcount = sprintf("%03d", $harness->failures());
print "summary: $txt\n";
Все, что мне нужно было сделать, это посмотреть на код метода TAP :: Harness-> runtests(). Он возвращает объект агрегатора, который содержит данные, которые я искал. – knb