class StubTestSuiteBase

Stub subclass of TestSuiteBase.

We use this class to alter the behavior of TestSuiteBase so it can be testable.

Hierarchy

Expanded class hierarchy of StubTestSuiteBase

File

core/tests/Drupal/Tests/Core/Test/TestSuiteBaseTest.php, line 121

Namespace

Drupal\Tests\Core\Test
View source
class StubTestSuiteBase extends TestSuiteBase {
  
  /**
   * Test files discovered by addTestsBySuiteNamespace().
   *
   * @var string[]
   */
  public $testFiles = [];
  
  /**
   * {@inheritdoc}
   */
  protected function findExtensionDirectories($root) {
    // We have to stub findExtensionDirectories() because we can't inject a
    // vfsStream filesystem into drupal_phpunit_find_extension_directories(),
    // which uses \SplFileInfo->getRealPath(). getRealPath() resolves
    // stream-based paths to an empty string. See
    // https://github.com/mikey179/vfsStream/wiki/Known-Issues
    return [];
  }
  
  /**
   * {@inheritdoc}
   */
  public function addTestFiles($filenames) : void {
    // We stub addTestFiles() because the parent implementation can't deal with
    // vfsStream-based filesystems due to an error in
    // stream_resolve_include_path(). See
    // https://github.com/mikey179/vfsStream/issues/5 Here we just store the
    // test file being added in $this->testFiles.
    $this->testFiles = array_merge($this->testFiles, $filenames);
  }

}

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