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