目錄

名稱

TAP::Parser::Result::Test - 測試結果代碼。

版本

版本 3.44

說明

這是 TAP::Parser::Result 的子類別。如果遇到測試行,將會傳回這個類別的代碼。

1..1
ok 1 - woo hooo!

覆寫方法

這個類別是 TAP::Parser 系統的執行核心。大多數 TAP 行都會是測試行,如果 $result->is_test,那麼你可以使用許多方法。

實例方法

ok

my $ok = $result->ok;

傳回 oknot ok 狀態的文字。

編號

my $test_number = $result->number;

傳回測試的編號,即使原始 TAP 輸出未提供該編號。

說明

my $description = $result->description;

傳回測試的說明(如果有)。這是測試編號後但指令前的部分。

指令

my $directive = $result->directive;

如果測試行有任何指令,則傳回 TODOSKIP

說明

my $explanation = $result->explanation;

如果測試有任何 TODOSKIP 指令,此方法將傳回隨附的說明(如果有)。

not ok 17 - 'Pigs can fly' # TODO not enough acid

對於上述行,說明是酸度不足

is_ok

if ( $result->is_ok ) { ... }

傳回布林值,表示測試是否通過。請記住,對於 TODO 測試,測試總是通過。

如果測試是未計畫的,此方法將永遠傳回 false。請參閱 is_unplanned

is_actual_ok

if ( $result->is_actual_ok ) { ... }

傳回布林值,表示測試是否通過,而不論其 TODO 狀態為何。

actual_passed

已棄用。請改用 is_actual_ok

todo_passed

if ( $test->todo_passed ) {
   # test unexpectedly succeeded
}

如果這是 TODO 測試和 'ok' 行,此方法傳回 true。否則,它將永遠傳回 false(不論非 todo 測試的通過狀態為何)。

這用於追蹤意外成功的測試。

todo_failed

# deprecated in favor of 'todo_passed'.  This method was horribly misnamed.

這是一個命名錯誤的方法。它表示意外成功的 TODO 測試。現在將發出警告並呼叫 todo_passed

has_skip

if ( $result->has_skip ) { ... }

傳回布林值,表示此測試是否有 SKIP 指令。

has_todo

if ( $result->has_todo ) { ... }

傳回布林值,表示此測試是否有 TODO 指令。

as_string

print $result->as_string;

此方法將測試列印為字串。它可能類似於原始測試行,但未必相同。指令會大寫,一些空白可能會被修剪,如果原始行中沒有測試編號,則會加入測試編號。如果您需要測試行的原始文字,請使用 raw 方法。

is_unplanned

if ( $test->is_unplanned ) { ... }
$test->is_unplanned(1);

如果測試號碼大於已規劃測試的數量,此方法會傳回 true。無論測試是否 has_todo,未規劃的測試永遠會對 is_ok 傳回 false。

請注意,如果測試有尾隨計畫,則無法設定未規劃測試的此屬性,因為我們在到達計畫之前不知道它是未規劃的

print <<'END';
ok 1
ok 2
1..1
END