Можно ли написать "skip(), если не ok()" с Test::More?
Я просмотрел документацию и не могу найти окончательный ответ на свой запрос.
Во многих моих тестах выполнение SKIP
блок является условием успеха предыдущего теста.
Так, например, вот что я пишу:
ok( @results > $threshold , 'Threshold met' );
SKIP: {
skip 'due to insufficient results', 3
unless @results > $threshold;
# ...
}
Если мой тест изменится, мне не нужно менять два местоположения, поэтому мне нужен эквивалент DRY-er:
SKIP: {
skip 'due to insufficient results', 3
unless ok( @results > $threshold , 'Threshold met' );
# ...
}
Мои первоначальные тесты показывают, что эти два фрагмента эквивалентны.
Однако что-то в документации попалось на глаза:
каждый
SKIP
блок должен иметь меткуSKIP
, или жеTest::More
не может творить свою магию.
Меня беспокоит то, что магия может распространиться на ok()
как сейчас внутри блока.