class TestDatabaseTest
Tests Drupal\Core\Test\TestDatabase.
Attributes
#[CoversClass(TestDatabase::class)]
#[Group('Test')]
#[Group('simpletest')]
#[Group('Template')]
  Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase- class \Drupal\Tests\Core\Test\TestDatabaseTest extends \Drupal\Tests\UnitTestCase
 
Expanded class hierarchy of TestDatabaseTest
File
- 
              core/tests/ Drupal/ Tests/ Core/ Test/ TestDatabaseTest.php, line 16 
Namespace
Drupal\Tests\Core\TestView source
class TestDatabaseTest extends UnitTestCase {
  
  /**
   * Tests constructor exception.
   *
   * @legacy-covers ::__construct
   */
  public function testConstructorException() : void {
    $this->expectException(\InvalidArgumentException::class);
    $this->expectExceptionMessage("Invalid database prefix: blah1253");
    new TestDatabase('blah1253');
  }
  
  /**
   * Tests constructor.
   *
   * @legacy-covers ::__construct
   * @legacy-covers ::getDatabasePrefix
   * @legacy-covers ::getTestSitePath
   * @legacy-covers ::getPhpErrorLogPath
   */
  public function testConstructor($db_prefix, $expected_db_prefix, $expected_site_path) : void {
    $test_db = new TestDatabase($db_prefix);
    $this->assertEquals($expected_db_prefix, $test_db->getDatabasePrefix());
    $this->assertEquals($expected_site_path, $test_db->getTestSitePath());
    $this->assertEquals($expected_site_path . '/error.log', $test_db->getPhpErrorLogPath());
  }
  
  /**
   * Data provider for self::testConstructor()
   */
  public static function providerTestConstructor() {
    return [
      [
        'test1234',
        'test1234',
        'sites/simpletest/1234',
      ],
      [
        'test123456test234567',
        'test123456test234567',
        'sites/simpletest/234567',
      ],
    ];
  }
  
  /**
   * Verify that a test lock is generated if there is no provided prefix.
   *
   * @legacy-covers ::__construct
   * @legacy-covers ::getDatabasePrefix
   * @legacy-covers ::getTestSitePath
   * @legacy-covers ::getPhpErrorLogPath
   */
  public function testConstructorNullPrefix() : void {
    // We use a stub class here because we can't mock getTestLock() so that it's
    // available before the constructor is called.
    $test_db = new TestTestDatabase(NULL);
    $this->assertEquals('test23', $test_db->getDatabasePrefix());
    $this->assertEquals('sites/simpletest/23', $test_db->getTestSitePath());
    $this->assertEquals('sites/simpletest/23/error.log', $test_db->getPhpErrorLogPath());
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | Overrides | 
|---|---|---|---|---|
| ExpectDeprecationTrait::expectDeprecation | public | function | Adds an expected deprecation. | |
| ExpectDeprecationTrait::setUpErrorHandler | public | function | Sets up the test error handler. | |
| ExpectDeprecationTrait::tearDownErrorHandler | public | function | Tears down the test error handler. | |
| RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |
| RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |
| RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |
| RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |
| TestDatabaseTest::providerTestConstructor | public static | function | Data provider for self::testConstructor() | |
| TestDatabaseTest::testConstructor | public | function | Tests constructor. | |
| TestDatabaseTest::testConstructorException | public | function | Tests constructor exception. | |
| TestDatabaseTest::testConstructorNullPrefix | public | function | Verify that a test lock is generated if there is no provided prefix. | |
| UnitTestCase::$root | protected | property | The app root. | |
| UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |
| UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |
| UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |
| UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |
| UnitTestCase::setDebugDumpHandler | public static | function | Registers the dumper CLI handler when the DebugDump extension is enabled. | |
| UnitTestCase::setUp | protected | function | 366 | |
| UnitTestCase::setupMockIterator | protected | function | Set up a traversable class mock to return specific items when iterated. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
