function KernelTestBase::tearDown
Same name in other branches
- 9 core/tests/Drupal/KernelTests/KernelTestBase.php \Drupal\KernelTests\KernelTestBase::tearDown()
- 8.9.x core/modules/simpletest/src/KernelTestBase.php \Drupal\simpletest\KernelTestBase::tearDown()
- 8.9.x core/tests/Drupal/KernelTests/KernelTestBase.php \Drupal\KernelTests\KernelTestBase::tearDown()
- 11.x core/tests/Drupal/KernelTests/KernelTestBase.php \Drupal\KernelTests\KernelTestBase::tearDown()
6 methods override KernelTestBase::tearDown()
- GenericCacheBackendUnitTestBase::tearDown in core/
tests/ Drupal/ KernelTests/ Core/ Cache/ GenericCacheBackendUnitTestBase.php - JsonApiDocumentTopLevelNormalizerTest::tearDown in core/
modules/ jsonapi/ tests/ src/ Kernel/ Normalizer/ JsonApiDocumentTopLevelNormalizerTest.php - KernelTestBaseTest::tearDown in core/
tests/ Drupal/ KernelTests/ KernelTestBaseTest.php - MigrateTestBase::tearDown in core/
modules/ migrate/ tests/ src/ Kernel/ MigrateTestBase.php - NonPublicSchemaTest::tearDown in core/
modules/ pgsql/ tests/ src/ Kernel/ pgsql/ NonPublicSchemaTest.php
File
-
core/
tests/ Drupal/ KernelTests/ KernelTestBase.php, line 687
Class
- KernelTestBase
- Base class for functional integration tests.
Namespace
Drupal\KernelTestsCode
protected function tearDown() : void {
if ($this->container) {
// Clean up mock session started in DrupalKernel::preHandle().
try {
/** @var \Symfony\Component\HttpFoundation\Session\Session $session */
$session = $this->container
->get('request_stack')
->getSession();
$session->clear();
$session->save();
} catch (SessionNotFoundException) {
@trigger_error('Pushing requests without a session onto the request_stack is deprecated in drupal:10.3.0 and an error will be thrown from drupal:11.0.0. See https://www.drupal.org/node/3337193', E_USER_DEPRECATED);
}
}
// Destroy the testing kernel.
if (isset($this->kernel)) {
$this->kernel
->shutdown();
}
// Remove all prefixed tables.
$original_connection_info = Database::getConnectionInfo('simpletest_original_default');
$original_prefix = $original_connection_info['default']['prefix'] ?? NULL;
$test_connection_info = Database::getConnectionInfo('default');
$test_prefix = $test_connection_info['default']['prefix'] ?? NULL;
if ($original_prefix != $test_prefix) {
$tables = Database::getConnection()->schema()
->findTables('%');
foreach ($tables as $table) {
if (Database::getConnection()->schema()
->dropTable($table)) {
unset($tables[$table]);
}
}
}
// Free up memory: Own properties.
$this->classLoader = NULL;
$this->vfsRoot = NULL;
$this->configImporter = NULL;
// Clean FileCache cache.
FileCache::reset();
// Clean up statics, container, and settings.
if (function_exists('drupal_static_reset')) {
drupal_static_reset();
}
\Drupal::unsetContainer();
$this->container = NULL;
new Settings([]);
parent::tearDown();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.