2
我已经通过documentation并找不到我的查询的确定答案。用Test :: More写“skip()除非ok()”才好吗?
在我的很多测试中,执行一个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()
,因为它现在在块内。
“每个'SKIP'块必须在标签'SKIP',或'测试:: More'不能工作它的魔力。”关注的是,魔法会溢出到'ok()'(它在块内) – Zaid
'skip'确实是最后一个跳过;'。 'ok'没有。 – ikegami
太棒了!这简化了很多事情...... – Zaid