DatabaseTestBase.php

Same filename in this branch
  1. 9 core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php
Same filename and directory in other branches
  1. 8.9.x core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Database/DatabaseTestBase.php
  3. 10 core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php
  4. 10 core/tests/Drupal/KernelTests/Core/Database/DatabaseTestBase.php
  5. 11.x core/modules/system/tests/src/Functional/Database/DatabaseTestBase.php
  6. 11.x core/tests/Drupal/KernelTests/Core/Database/DatabaseTestBase.php

Namespace

Drupal\KernelTests\Core\Database

File

core/tests/Drupal/KernelTests/Core/Database/DatabaseTestBase.php

View source
<?php

namespace Drupal\KernelTests\Core\Database;

use Drupal\Core\Database\Database;
use Drupal\KernelTests\KernelTestBase;

/**
 * Base class for databases database tests.
 *
 * Because all database tests share the same test data, we can centralize that
 * here.
 */
abstract class DatabaseTestBase extends KernelTestBase {
    use DatabaseTestSchemaDataTrait;
    use DatabaseTestSchemaInstallTrait;
    protected static $modules = [
        'database_test',
    ];
    
    /**
     * The database connection for testing.
     *
     * @var \Drupal\Core\Database\Connection
     */
    protected $connection;
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() {
        parent::setUp();
        $this->connection = Database::getConnection();
        $this->installSampleSchema();
        $this->addSampleData();
    }
    
    /**
     * Sets up tables for NULL handling.
     */
    public function ensureSampleDataNull() {
        $this->connection
            ->insert('test_null')
            ->fields([
            'name',
            'age',
        ])
            ->values([
            'name' => 'Kermit',
            'age' => 25,
        ])
            ->values([
            'name' => 'Fozzie',
            'age' => NULL,
        ])
            ->values([
            'name' => 'Gonzo',
            'age' => 27,
        ])
            ->execute();
    }

}

Classes

Title Deprecated Summary
DatabaseTestBase Base class for databases database tests.

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