Test2::Util::Facets2Legacy - 將小組資料轉換為舊版事件 API。
此模組從舊版事件 API 匯出多個子常式(請參閱 Test2::Event)。這些子常式可用於提供自訂 facet_data()
方法的任何物件的方法。這些子常式也可以用作函式,將小組資料雜湊作為引數。
package My::Event;
use Test2::Util::Facets2Legacy ':ALL';
sub facet_data { return { ... } }
然後使用它
my $e = My::Event->new(...);
my $causes_fail = $e->causes_fail;
my $summary = $e->summary;
....
use Test2::Util::Facets2Legacy ':ALL';
my $f = {
assert => { ... },
info => [{...}, ...],
control => {...},
...
};
my $causes_fail = causes_fail($f);
my $summary = summary($f);
當用作方法時,所有這些子常式都會呼叫 $e->facet_data()
。 Test2::Event 中的預設 facet_data()
方法仰賴此模組模擬的舊版方法才能運作。因此,很容易建立無限遞迴的錯誤。
這些方法具有循環偵測功能,如果偵測到循環,將會立即擲回例外。目前,此函式庫中唯一在偵測到循環時具有備用行為的子常式是 uuid()
。
預設不會匯出任何內容。您必須指定要匯入的方法,或使用 ':ALL' 標籤。
檢查事件或切面是否導致失敗狀態。
檢查事件或切面是否包含任何診斷資訊。
檢查事件或切面是否需要全域處理。
檢查事件或切面是否進行斷言。
檢查事件或切面是否應該渲染或隱藏。
檢查事件或切面是否設定計畫,並傳回計畫詳細資料。
取得子測試 ID(如果有的話)。
取得事件或切面雜湊的摘要(如果有的話)。
檢查事件或切面是否應導致程序終止,如果是,則傳回結束代碼(可能是 0)。如果未要求終止,則傳回未定義。
取得切面或事件的 UUID。
注意:如果偵測到循環且事件用作引數,這將會回溯至 $e->SUPER::uuid()
。
Test2 的原始碼存放庫位於 http://github.com/Test-More/test-more/。
版權所有 2020 Chad Granum <exodist@cpan.org>。
此程式為自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。
請參閱 http://dev.perl.org/licenses/