function PhpUnitApiFindAllClassFilesTest::testAllClasses

Checks PHPUnit API based discovery.

Attributes

#[DataProvider('argumentsProvider')]

File

core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiFindAllClassFilesTest.php, line 28

Class

PhpUnitApiFindAllClassFilesTest
Tests ::findAllClassFiles().

Namespace

Drupal\KernelTests\Core\Test

Code

public function testAllClasses(?string $extension = NULL, ?string $directory = NULL, array $testsArg = [], ?string $expectedDirectory = NULL) : void {
  $core = $this->container
    ->getParameter('app.root') . '/core';
  $phpUnitTestDiscovery = PhpUnitTestDiscovery::instance()->setConfigurationFilePath($core);
  $phpUnitList = $phpUnitTestDiscovery->findAllClassFiles($extension, $directory, $testsArg);
  $testFiles = [];
  foreach (Finder::create()->files()
    ->name('*Test.php')
    ->in($core . ($expectedDirectory ? '/' . $expectedDirectory : '')) as $file) {
    $path = $file->getPathname();
    if ($expectedDirectory || str_starts_with($path, $core . '/tests/Drupal/') || str_contains($path, '/tests/src/')) {
      $testFiles[] = $path;
    }
  }
  $this->assertSame([], array_values(array_diff($testFiles, $phpUnitList)));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.