ドキュメントを確認しましたが、クエリに対する明確な回答が見つかりません。
私の多くのテストでは、SKIP
ブロックの実行は前のテストの成功を条件としています。
だから、例えば、これは私が書いたものです:
ok( @results > $threshold , 'Threshold met' );
SKIP: {
skip 'due to insufficient results', 3
unless @results > $threshold;
# ...
}
テストが変更された場合、2つの場所を変更する必要がないので、DRY-erと同等のものが必要です。
SKIP: {
skip 'due to insufficient results', 3
unless ok( @results > $threshold , 'Threshold met' );
# ...
}
私の最初のテストは、2つのスニペットが同等であることを示唆しています。
しかし、ドキュメントの何かが私の目に留まりました。
各
SKIP
ブロックにはラベルが必要です。そうSKIP
でない場合Test::More
、その魔法は機能しません。
ここでの私の懸念は、魔法がok()
ブロック内にあるため、魔法がに波及する可能性があることです。