diff --git a/core/tests/Drupal/KernelTests/KernelTestBase.php b/core/tests/Drupal/KernelTests/KernelTestBase.php
index a6bac86..7145a9f 100644
--- a/core/tests/Drupal/KernelTests/KernelTestBase.php
+++ b/core/tests/Drupal/KernelTests/KernelTestBase.php
@@ -25,6 +25,10 @@
 use PHPUnit\Framework\TestCase;
 use Symfony\Component\DependencyInjection\Reference;
 use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\VarDumper\VarDumper;
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+use Symfony\Component\VarDumper\Dumper\CliDumper;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
 use org\bovigo\vfs\vfsStream;
 use org\bovigo\vfs\visitor\vfsStreamPrintVisitor;
 
@@ -219,6 +223,22 @@
   public static function setUpBeforeClass() {
     parent::setUpBeforeClass();
 
+    // Set up the symfony var dumper so dump() statements within kernel tests
+    // are output to the terminal without causing PHPUnit to complain.
+    VarDumper::setHandler(function ($var) {
+        $cloner = new VarCloner();
+        
+        // Need to write a newline before any output.
+        fwrite(STDOUT, "\n");
+        
+        $dumper = new CliDumper(function($line) {
+          fwrite(STDOUT, $line . "\n");
+        });
+
+        $dumper->setColors(TRUE);
+        $dumper->dump($cloner->cloneVar($var));
+    });
+
     // Change the current dir to DRUPAL_ROOT.
     chdir(static::getDrupalRoot());
   }
@@ -595,6 +615,21 @@ protected function assertPostConditions() {
    * {@inheritdoc}
    */
   protected function tearDown() {
+    // Set up dumper.
+    // TODO! This doesn't work, as we're still in the child process here!
+    /*
+    VarDumper::setHandler(function ($var) {
+        $cloner = new VarCloner();
+        $dumper = new CliDumper();
+
+        $dumper->dump($cloner->cloneVar($var));
+    });
+    $lines = \Drupal::state()->get('kernel_dump');
+    dump($lines);
+    */
+
+
+
     // Destroy the testing kernel.
     if (isset($this->kernel)) {
       $this->kernel->shutdown();
