function KernelTestBaseTest::tearDown
Same name in other branches
- 9 core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::tearDown()
- 8.9.x core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::tearDown()
- 10 core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::tearDown()
Overrides KernelTestBase::tearDown
File
-
core/
tests/ Drupal/ KernelTests/ KernelTestBaseTest.php, line 268
Class
- KernelTestBaseTest
- @coversDefaultClass \Drupal\KernelTests\KernelTestBase
Namespace
Drupal\KernelTestsCode
protected function tearDown() : void {
parent::tearDown();
// Check that all tables of the test instance have been deleted. At this
// point the original database connection is restored so we need to prefix
// the tables.
$connection = Database::getConnection();
if ($connection->databaseType() === 'sqlite') {
$tables = $connection->query("SELECT name FROM " . $this->databasePrefix . ".sqlite_master WHERE type = :type AND name LIKE :table_name AND name NOT LIKE :pattern", [
':type' => 'table',
':table_name' => '%',
':pattern' => 'sqlite_%',
])
->fetchAllKeyed(0, 0);
}
else {
$tables = $connection->schema()
->findTables($this->databasePrefix . '%');
}
if (!empty($tables)) {
throw new \RuntimeException("Not all test tables were removed");
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.