function BrowserTestBase::tearDown

Same name in other branches
  1. 9 core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::tearDown()
  2. 8.9.x core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::tearDown()
  3. 10 core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::tearDown()
3 calls to BrowserTestBase::tearDown()
MigrateUpgradeTestBase::tearDown in core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
ShutdownFunctionsTest::tearDown in core/modules/system/tests/src/Functional/System/ShutdownFunctionsTest.php
WebDriverTestBase::tearDown in core/tests/Drupal/FunctionalJavascriptTests/WebDriverTestBase.php
3 methods override BrowserTestBase::tearDown()
MigrateUpgradeTestBase::tearDown in core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
ShutdownFunctionsTest::tearDown in core/modules/system/tests/src/Functional/System/ShutdownFunctionsTest.php
WebDriverTestBase::tearDown in core/tests/Drupal/FunctionalJavascriptTests/WebDriverTestBase.php

File

core/tests/Drupal/Tests/BrowserTestBase.php, line 429

Class

BrowserTestBase
Provides a test case for functional Drupal tests.

Namespace

Drupal\Tests

Code

protected function tearDown() : void {
    // Close any mink sessions as early as possible to free a new browser
    // session up for the next test method or test.
    if ($this->mink) {
        $this->mink
            ->stopSessions();
    }
    parent::tearDown();
    if ($this->container) {
        // Cleanup mock session started in DrupalKernel::preHandle().
        
        /** @var \Symfony\Component\HttpFoundation\Session\Session $session */
        $session = $this->container
            ->get('request_stack')
            ->getSession();
        $session->clear();
        $session->save();
    }
    // Destroy the testing kernel.
    if (isset($this->kernel)) {
        $this->cleanupEnvironment();
        $this->kernel
            ->shutdown();
    }
    // Ensure that internal logged in variable is reset.
    $this->loggedInUser = FALSE;
    // Restore original shutdown callbacks.
    if (function_exists('drupal_register_shutdown_function')) {
        $callbacks =& drupal_register_shutdown_function();
        $callbacks = $this->originalShutdownCallbacks;
    }
}

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