PHPUnit:当一个失败时跳过所有测试

时间:2012-09-04 16:24:46

标签: php phpunit

我的测试用例中的所有测试都取决于第一次测试通过。现在我知道我可以将@depends注释添加到其余测试中,但我正在寻找一种快捷方式来将注释添加到其他所有测试方法中。有没有办法告诉PHPUnit,“如果这个失败了,请跳过其余的测试”?

2 个答案:

答案 0 :(得分:6)

您可以将该特定测试添加到setup()方法中。这将使所有测试失败的测试都被跳过,例如

public function setup()
{
    $this->subjectUnderTest = new SubjectUnderTest;
    $this->assertPreconditionOrMarkTestSkipped();
}

public function assertPreconditionOrMarkTestSkipped()
{
    if ($someCondition === false) {
        $this->markTestSkipped('Precondition is not met');
    }
}

答案 1 :(得分:6)

与Gordon的答案类似,但没有将第一个测试移到setUp,类似的方法是在第一个测试中根据成功/失败设置类级属性,并在{{1}中检查此属性}。唯一的区别是第一次测试只执行一次。

setUp