我的测试用例中的所有测试都依赖于第一个测试的通过。现在我知道我可以将@depends注释添加到其余的测试中,但我正在寻找一种快捷方式来将注释添加到每个其他测试方法中。有没有一种方法告诉PHPUnit:“如果这一个失败,跳过其余测试”?
我的测试用例中的所有测试都依赖于第一个测试的通过。现在我知道我可以将@depends注释添加到其余的测试中,但我正在寻找一种快捷方式来将注释添加到每个其他测试方法中。有没有一种方法告诉PHPUnit:“如果这一个失败,跳过其余测试”?
public function setup()
{
$this->subjectUnderTest = new SubjectUnderTest;
$this->assertPreconditionOrMarkTestSkipped();
}
public function assertPreconditionOrMarkTestSkipped()
{
if ($someCondition === false) {
$this->markTestSkipped('Precondition is not met');
}
}
setUp
中,一种类似的方法是在第一个测试中基于其成功/失败设置一个类级属性,并在setUp
中检查此属性。唯一的区别是现在第一个测试只会执行一次。private static $firstPassed = null;
public function setup() {
if (self::$firstPassed === false) {
self::markTestSkipped();
}
else if (self::$firstPassed === null) {
self::$firstPassed = false;
}
}
public function testFirst() {
... the test ...
self::$firstPassed = true;
}