App::Prove::State::Result - 单个测试套件结果。
版本 3.44
prove
命令支持 --state
选项,该选项指示它在运行之间存储持久状态。此模块封装了单个测试套件运行的结果。
# Re-run failed tests
$ prove --state=failed,save -rbv
new
my $result = App::Prove::State::Result->new({
generation => $generation,
tests => \%tests,
});
返回一个新的 App::Prove::State::Result
实例。
state_version
返回当前状态存储的版本。
test_class
返回用于跟踪单个测试的类的名称。此类应该从 App::Prove::State::Result::Test
子类化,或者提供相同的接口。
generation
测试套件运行的“代”的 getter/setter。第一代是 1(一),后续代是 2、3 等。
last_run_time
测试套件运行时间的 getter/setter。
tests
返回给定代的测试。这是一个 hashref 或一个 hash,具体取决于调用的上下文。hash 的键是单个测试名称,值是一个包含各种有趣值的 hashref。每个 k/v 对可能类似于以下内容
't/foo.t' => {
elapsed => '0.0428488254547119',
gen => '7',
last_pass_time => '1219328376.07815',
last_result => '0',
last_run_time => '1219328376.07815',
last_todo => '0',
mtime => '1191708862',
seq => '192',
total_passes => '6',
}
test
my $test = $result->test('t/customer/create.t');
返回给定测试名称(通常是文件名)的单个 App::Prove::State::Result::Test
实例。如果未找到名称,将返回一个新的 App::Prove::State::Result::Test
实例。
test_names
返回测试名称列表,按运行顺序排序。
remove
$result->remove($test_name); # remove the test
my $test = $result->test($test_name); # fatal error
从结果中删除给定的测试。如果未找到测试名称,则此操作为无操作。
num_tests
返回给定测试套件结果的测试数量。
raw
返回原始结果的 hashref,适合 YAML 序列化。