内容

名称

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 序列化。