'testStart', Events::TEST_SUCCESS => 'testSuccess' ]; protected $successfulTests = []; public function testStart(TestEvent $event) { $test = $event->getTest(); if (!$test instanceof Dependent) { return; } $testSignatures = $test->getDependencies(); foreach ($testSignatures as $signature) { if (!in_array($signature, $this->successfulTests)) { $test->getMetadata()->setSkip("This test depends on $signature to pass"); return; } } } public function testSuccess(TestEvent $event) { $test = $event->getTest(); if (!$test instanceof TestInterface) { return; } $this->successfulTests[] = Descriptor::getTestSignature($test); } }