我使用TAP :: Formatter :: HTML運行一些TAP測試。perl TAP測試:如何從TAP :: Formatter :: HTML輸出中獲得失敗測試的計數?
此CPAN模塊生成漂亮的動態HTML報告,但我想使用通過的測試數,失敗的測試等 - 在所有測試完成後將它們插入到數據庫中。
下面的代碼不起作用。它不向控制檯打印任何內容。我承認,對於第10行和之後的行,我只是將來自TAP :: *類的POD描述的一些代碼打包在一起。
之前,我潛入聚合,Harmess或格式化類和子類的源代碼,我最好問:
有誰知道這裏如何使此代碼的工作?
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 2010-11-10 17:56:18