You are here

class StubPDO in Drupal 8

Same name and namespace in other branches
  1. 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-...

3 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
ConnectionTest.php in core/tests/Drupal/Tests/Core/Database/Driver/sqlite/ConnectionTest.php

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

Namesort descending Modifiers Type Description Overrides
StubPDO::__construct public function Construction method.