目錄

名稱

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

傳回特定世代的測試。這是一個雜湊或哈希,依呼叫的內容而定。雜湊的鍵為個別測試名稱,而值是一個包含各種有趣值的雜湊。每個 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

傳回原始結果的雜湊,適合 YAML 序列化。