テスト ケースのすべてのテストは、最初のテスト パスに依存します。これで、@depends アノテーションを残りのテストに追加できることがわかりましたが、他のすべてのテスト メソッドにアノテーションを追加するショートカットを探しています。PHPUnitに「これが失敗した場合は残りのテストをスキップする」ように指示する方法はありますか?
1786 次
2 に答える
6
ゴードンの答えにsetUp
似ていますが、最初のテストをsetUp
. 唯一の違いは、現在のように最初のテストが 1 回だけ実行されることです。
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;
}
于 2012-09-04T18:51:48.857 に答える
6
その特定のテストを setup() メソッドに追加できます。これにより、このテストに失敗したすべてのテストがスキップされます。
public function setup()
{
$this->subjectUnderTest = new SubjectUnderTest;
$this->assertPreconditionOrMarkTestSkipped();
}
public function assertPreconditionOrMarkTestSkipped()
{
if ($someCondition === false) {
$this->markTestSkipped('Precondition is not met');
}
}
于 2012-09-04T17:09:40.017 に答える