diff --git a/core/tests/Drupal/KernelTests/KernelTestBase.php b/core/tests/Drupal/KernelTests/KernelTestBase.php index ed5cda0ae9..672c3fe99e 100644 --- a/core/tests/Drupal/KernelTests/KernelTestBase.php +++ b/core/tests/Drupal/KernelTests/KernelTestBase.php @@ -179,6 +179,13 @@ */ protected $configImporter; + /** + * The key_value service that must persist between container rebuilds. + * + * @var \Drupal\Core\KeyValueStore\KeyValueMemoryFactory + */ + protected $keyValue; + /** * The app root. * @@ -534,6 +541,14 @@ public function register(ContainerBuilder $container) { $container ->setAlias('keyvalue', 'keyvalue.memory'); + // Must persist container rebuilds, or all data would vanish otherwise. + if (isset($this->keyValue)) { + $container->set('keyvalue.memory', $this->keyValue); + } + else { + $this->keyValue = $container->get('keyvalue.memory'); + } + // Set the default language on the minimal container. $container->setParameter('language.default_values', Language::$defaultValues);