Test2::Formatter - 格式化器的命名空間。
這是格式化器的命名空間。這是一個空的套件。
格式化器是任何具有 write($event, $num)
方法的套件或物件。
package Test2::Formatter::Foo;
use strict;
use warnings;
sub write {
my $self_or_class = shift;
my ($event, $assert_num) = @_;
...
}
sub hide_buffered { 1 }
sub terminate { }
sub finalize { }
sub supports_tables { return $BOOL }
sub new_root {
my $class = shift;
...
$class->new(@_);
}
1;
write
方法是一個方法,因此它會取得一個類別或執行個體。兩個參數是它應該記錄的 $event
物件,以及 $assert_num
,這是目前斷言 (ok) 的編號,或如果此事件本身不是斷言,則為最後一個斷言的編號。斷言編號可以是 0 或更大的任何整數,在某些情況下可能未定義。
hide_buffered()
方法必須傳回一個布林值。這用於告訴緩衝子測試是否在緩衝時傳送事件。有關更多資訊,請參閱 「Test2::API 中的 run_subtest(...)」。
terminate
和 finalize
方法是可選方法,您可以實作它們,如果要產生的格式需要處理這些情況,例如,如果您要產生 XML 並需要關閉開啟的標籤。
當事件的 terminate
方法傳回 true 時,將呼叫 terminate
方法,例如當 Test2::Event::Plan 具有 'skip_all'
計畫,或當傳送 Test2::Event::Bail 事件時。terminate
方法會傳遞單一引數,也就是觸發終止的 Test2::Event 物件。
finalize
方法始終是對格式化程式呼叫的最後一個方法,除非針對 Bail 事件呼叫 terminate
。它會傳遞下列引數
如果格式化程式支援直接從 info
面向呈現表格資料,則 supports_tables
方法應為 true。這是一個較新的功能,許多較舊的格式化程式可能不支援。如果不支援,格式化程式會改為呈現 detail
,而不是 table
資料。
在建構根格式化程式時,會使用 new_root
方法。預設值是委派給一般的 new()
方法,大多數格式化程式可以忽略它。
已規劃的測試數量
實際看到的測試數量
失敗的測試數量
布林值,表示測試套件是否通過
布林值,表示此呼叫是否針對子測試
當 Test2::API::Stack
首次初始化根集線器時,會呼叫 new_root
方法。大多數格式化程式會簡單地呼叫此 $class->new
,這是預設行為。不過,有些格式化程式可能希望在建構根格式化程式時採取額外動作,這時就可以這麼做。
Test2 的原始程式碼存放庫位於 http://github.com/Test-More/test-more/。
著作權所有 2020 Chad Granum <exodist@cpan.org>。
此程式是自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。
請參閱 http://dev.perl.org/licenses/