Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. TestCase.php

function TestCase::invokeHookMethods

@psalm-param list<non-empty-string> $hookMethods @psalm-param 'testBeforeFirstTestMethodCalled'|'testBeforeTestMethodCalled'|'testPreConditionCalled'|'testPostConditionCalled'|'testAfterTestMethodCalled'|'testAfterLastTestMethodCalled' $calledMethod @psalm-param 'testBeforeFirstTestMethodFinished'|'testBeforeTestMethodFinished'|'testPreConditionFinished'|'testPostConditionFinished'|'testAfterTestMethodFinished'|'testAfterLastTestMethodFinished' $finishedMethod

Throws

Throwable

6 calls to TestCase::invokeHookMethods()
TestCase::invokeAfterClassHookMethods in vendor/phpunit/phpunit/src/Framework/TestCase.php
@codeCoverageIgnore
TestCase::invokeAfterTestHookMethods in vendor/phpunit/phpunit/src/Framework/TestCase.php
TestCase::invokeBeforeClassHookMethods in vendor/phpunit/phpunit/src/Framework/TestCase.php
@codeCoverageIgnore
TestCase::invokeBeforeTestHookMethods in vendor/phpunit/phpunit/src/Framework/TestCase.php
TestCase::invokePostConditionHookMethods in vendor/phpunit/phpunit/src/Framework/TestCase.php

... See full list

File

vendor/phpunit/phpunit/src/Framework/TestCase.php, line 2161

Class

TestCase
@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

Namespace

PHPUnit\Framework

Code

private function invokeHookMethods(array $hookMethods, Event\Emitter $emitter, string $calledMethod, string $finishedMethod) : void {
    $methodsInvoked = [];
    foreach ($hookMethods as $methodName) {
        if ($this->methodDoesNotExistOrIsDeclaredInTestCase($methodName)) {
            continue;
        }
        try {
            $this->{$methodName}();
        } catch (Throwable $t) {
        }
        $methodInvoked = new Event\Code\ClassMethod(static::class, $methodName);
        $emitter->{$calledMethod}(static::class, $methodInvoked);
        $methodsInvoked[] = $methodInvoked;
        if (isset($t)) {
            break;
        }
    }
    if (!empty($methodsInvoked)) {
        $emitter->{$finishedMethod}(static::class, ...$methodsInvoked);
    }
    if (isset($t)) {
        throw $t;
    }
}
RSS feed
Powered by Drupal