function TestSuite::invokeMethodsAfterLastTest
1 call to TestSuite::invokeMethodsAfterLastTest()
- TestSuite::run in vendor/
phpunit/ phpunit/ src/ Framework/ TestSuite.php
File
-
vendor/
phpunit/ phpunit/ src/ Framework/ TestSuite.php, line 675
Class
- TestSuite
- @template-implements IteratorAggregate<int, Test>
Namespace
PHPUnit\FrameworkCode
private function invokeMethodsAfterLastTest(Event\Emitter $emitter) : void {
if (!$this->isForTestClass()) {
return;
}
$methodsCalledAfterLastTest = [];
$afterClassMethods = (new HookMethods())->hookMethods($this->name)['afterClass'];
foreach ($afterClassMethods as $afterClassMethod) {
if ($this->methodDoesNotExistOrIsDeclaredInTestCase($afterClassMethod)) {
continue;
}
try {
call_user_func([
$this->name,
$afterClassMethod,
]);
$methodCalledAfterLastTest = new Event\Code\ClassMethod($this->name, $afterClassMethod);
$emitter->testAfterLastTestMethodCalled($this->name, $methodCalledAfterLastTest);
$methodsCalledAfterLastTest[] = $methodCalledAfterLastTest;
} catch (Throwable) {
// @todo
}
}
if (!empty($methodsCalledAfterLastTest)) {
$emitter->testAfterLastTestMethodFinished($this->name, ...$methodsCalledAfterLastTest);
}
}