You are here

class StubPDO in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Database/Stub/StubPDO.php \Drupal\Tests\Core\Database\Stub\StubPDO
  2. 9 core/tests/Drupal/Tests/Core/Database/Stub/StubPDO.php \Drupal\Tests\Core\Database\Stub\StubPDO

A stub of \PDO for testing purposes.

We override the constructor method so that PHPUnit can mock the \PDO class. \PDO itself can't be mocked, so we have to create a subclass. This subclass is being used to unit test Connection, so we don't need a functional database but we do need a mock \PDO object.

Hierarchy

  • class \Drupal\Tests\Core\Database\Stub\StubPDO extends \Drupal\Tests\Core\Database\Stub\PDO

Expanded class hierarchy of StubPDO

See also

Drupal\Tests\Core\Database\ConnectionTest

Drupal\Core\Database\Connection

http://stackoverflow.com/questions/3138946/mocking-the-pdo-object-using-...

8 files declare their use of StubPDO
ConditionTest.php in core/tests/Drupal/Tests/Core/Database/ConditionTest.php
ConnectionTest.php in core/tests/Drupal/Tests/Core/Database/ConnectionTest.php
LogTest.php in core/tests/Drupal/Tests/Core/Database/LogTest.php
MysqlDriverLegacyTest.php in core/tests/Drupal/KernelTests/Core/Database/MysqlDriverLegacyTest.php
OrderByTest.php in core/tests/Drupal/Tests/Core/Database/OrderByTest.php

... See full list

File

core/tests/Drupal/Tests/Core/Database/Stub/StubPDO.php, line 17

Namespace

Drupal\Tests\Core\Database\Stub
View source
class StubPDO extends \PDO {

  /**
   * Construction method.
   *
   * We override this construction method with a no-op in order to mock \PDO
   * under unit tests.
   *
   * @see http://stackoverflow.com/questions/3138946/mocking-the-pdo-object-using-phpunit
   */
  public function __construct() {

    // No-op.
  }

}

Members