gpt4 book ai didi

perl TAP 测试:如何从 TAP::Formatter::HTML 输出中获取失败测试的计数?

转载 作者:行者123 更新时间:2023-11-28 21:34:39 28 4
gpt4 key购买 nike

我使用 TAP::Formatter::HTML 运行一些 TAP 测试。

这个 CPAN 模块生成漂亮的动态 HTML 报告,但我想使用通过测试、失败测试等的数量 - 在所有测试完成后将它们插入数据库。

下面的代码不起作用。它不向控制台打印任何内容。我承认,对于第 10 行及之后的代码,我只是将 TAP::* 类的 POD 描述中的一些代码拼凑在一起。

在深入研究 Aggregator、Harmess 或 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::Formatter::HTML 的相同来源获取测试数据呢?它可能正在检查 Test::Builder对象并从那里获取测试统计信息。 Test::Builder 对象是一个单例对象,因此在完成测试后很容易请求它的副本并从中提取数据以插入数据库,同时生成漂亮的 HTML 报告。

关于perl TAP 测试:如何从 TAP::Formatter::HTML 输出中获取失败测试的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4117714/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com