Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. FunctionalTestSetupTrait.php

function FunctionalTestSetupTrait::installModulesFromClassProperty

Install modules defined by `static::$modules`.

To install test modules outside of the testing environment, add

$settings['extension_discovery_scan_tests'] = TRUE;

to your settings.php.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container: The container.

File

core/lib/Drupal/Core/Test/FunctionalTestSetupTrait.php, line 488

Class

FunctionalTestSetupTrait
Defines a trait for shared functional test setup functionality.

Namespace

Drupal\Core\Test

Code

protected function installModulesFromClassProperty(ContainerInterface $container) {
    $class = static::class;
    $modules = [];
    while ($class) {
        if (property_exists($class, 'modules')) {
            $modules = array_merge($modules, $class::$modules);
        }
        $class = get_parent_class($class);
    }
    if ($modules) {
        $modules = array_unique($modules);
        try {
            $success = $container->get('module_installer')
                ->install($modules, TRUE);
            $this->assertTrue($success, 'Enabled modules: ' . implode(', ', $modules));
        } catch (MissingDependencyException $e) {
            // The exception message has all the details.
            $this->fail($e->getMessage());
        }
        // The container was already rebuilt by the ModuleInstaller.
        $this->container = \Drupal::getContainer();
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal