diff --git a/core/modules/comment/src/Tests/CommentItemTest.php b/core/modules/comment/src/Tests/CommentItemTest.php
index 9b28a58..7ceecc9 100644
--- a/core/modules/comment/src/Tests/CommentItemTest.php
+++ b/core/modules/comment/src/Tests/CommentItemTest.php
@@ -10,7 +10,7 @@
 use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\entity_test\Entity\EntityTest;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the new entity API for the comment field type.
diff --git a/core/modules/datetime/src/Tests/DateTimeItemTest.php b/core/modules/datetime/src/Tests/DateTimeItemTest.php
index 03d72e9..4d41df1 100644
--- a/core/modules/datetime/src/Tests/DateTimeItemTest.php
+++ b/core/modules/datetime/src/Tests/DateTimeItemTest.php
@@ -11,7 +11,7 @@
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
diff --git a/core/modules/field/src/Tests/Boolean/BooleanFormatterTest.php b/core/modules/field/tests/src/Kernel/Boolean/BooleanFormatterTest.php
similarity index 95%
rename from core/modules/field/src/Tests/Boolean/BooleanFormatterTest.php
rename to core/modules/field/tests/src/Kernel/Boolean/BooleanFormatterTest.php
index 214590d..fb04f97 100644
--- a/core/modules/field/src/Tests/Boolean/BooleanFormatterTest.php
+++ b/core/modules/field/tests/src/Kernel/Boolean/BooleanFormatterTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\Boolean\BooleanFormatterTest.
+ * Contains \Drupal\Tests\field\Kernel\Boolean\BooleanFormatterTest.
  */
 
-namespace Drupal\field\Tests\Boolean;
+namespace Drupal\Tests\field\Kernel\Boolean;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
@@ -13,7 +13,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\simpletest\KernelTestBase;
+use Drupal\KernelTests\KernelTestBase;
 
 /**
  * Tests the boolean formatter.
@@ -27,7 +27,7 @@ class BooleanFormatterTest extends KernelTestBase {
    *
    * @var array
    */
-  public static $modules = ['field', 'text', 'entity_test', 'user'];
+  public static $modules = ['field', 'text', 'entity_test', 'user', 'system'];
 
   /**
    * @var string
diff --git a/core/modules/field/src/Tests/Boolean/BooleanItemTest.php b/core/modules/field/tests/src/Kernel/Boolean/BooleanItemTest.php
similarity index 93%
rename from core/modules/field/src/Tests/Boolean/BooleanItemTest.php
rename to core/modules/field/tests/src/Kernel/Boolean/BooleanItemTest.php
index 8ae2259..134bc05 100644
--- a/core/modules/field/src/Tests/Boolean/BooleanItemTest.php
+++ b/core/modules/field/tests/src/Kernel/Boolean/BooleanItemTest.php
@@ -2,16 +2,16 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\Boolean\BooleanItemTest.
+ * Contains \Drupal\Tests\field\Kernel\Boolean\BooleanItemTest.
  */
 
-namespace Drupal\field\Tests\Boolean;
+namespace Drupal\Tests\field\Kernel\Boolean;
 
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
diff --git a/core/modules/field/src/Tests/BulkDeleteTest.php b/core/modules/field/tests/src/Kernel/BulkDeleteTest.php
similarity index 98%
rename from core/modules/field/src/Tests/BulkDeleteTest.php
rename to core/modules/field/tests/src/Kernel/BulkDeleteTest.php
index 2949867..009f5f0 100644
--- a/core/modules/field/src/Tests/BulkDeleteTest.php
+++ b/core/modules/field/tests/src/Kernel/BulkDeleteTest.php
@@ -2,14 +2,15 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\BulkDeleteTest.
+ * Contains \Drupal\Tests\field\Kernel\BulkDeleteTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Bulk delete storages and fields, and clean up afterwards.
diff --git a/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php b/core/modules/field/tests/src/Kernel/ConfigFieldDefinitionTest.php
similarity index 93%
rename from core/modules/field/src/Tests/ConfigFieldDefinitionTest.php
rename to core/modules/field/tests/src/Kernel/ConfigFieldDefinitionTest.php
index 44e8c89..9c1d302 100644
--- a/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php
+++ b/core/modules/field/tests/src/Kernel/ConfigFieldDefinitionTest.php
@@ -2,13 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\ConfigFieldDefinitionTest.
+ * Contains \Drupal\Tests\field\Kernel\ConfigFieldDefinitionTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests exposing field definitions for configurable fields.
diff --git a/core/modules/field/src/Tests/DisplayApiTest.php b/core/modules/field/tests/src/Kernel/DisplayApiTest.php
similarity index 98%
rename from core/modules/field/src/Tests/DisplayApiTest.php
rename to core/modules/field/tests/src/Kernel/DisplayApiTest.php
index 362699b..73237e4 100644
--- a/core/modules/field/src/Tests/DisplayApiTest.php
+++ b/core/modules/field/tests/src/Kernel/DisplayApiTest.php
@@ -2,15 +2,16 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\DisplayApiTest.
+ * Contains \Drupal\Tests\field\Kernel\DisplayApiTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Entity\Entity\EntityViewMode;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the field display API.
@@ -61,6 +62,11 @@ class DisplayApiTest extends FieldUnitTestBase {
    */
   protected $values;
 
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['system'];
+
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Email/EmailItemTest.php b/core/modules/field/tests/src/Kernel/Email/EmailItemTest.php
similarity index 93%
rename from core/modules/field/src/Tests/Email/EmailItemTest.php
rename to core/modules/field/tests/src/Kernel/Email/EmailItemTest.php
index 4427e3f..895cff7 100644
--- a/core/modules/field/src/Tests/Email/EmailItemTest.php
+++ b/core/modules/field/tests/src/Kernel/Email/EmailItemTest.php
@@ -2,16 +2,16 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\Email\EmailItemTest.
+ * Contains \Drupal\Tests\field\Kernel\Email\EmailItemTest.
  */
 
-namespace Drupal\field\Tests\Email;
+namespace Drupal\Tests\field\Kernel\Email;
 
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php b/core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php
similarity index 98%
rename from core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php
rename to core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php
index 49dfa86..e635961 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php
+++ b/core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\EntityReference\EntityReferenceItemTest.
+ * Contains \Drupal\Tests\field\Kernel\EntityReference\EntityReferenceItemTest.
  */
 
-namespace Drupal\field\Tests\EntityReference;
+namespace Drupal\Tests\field\Kernel\EntityReference;
 
 use Drupal\comment\Entity\Comment;
 use Drupal\Component\Render\FormattableMarkup;
@@ -19,7 +19,8 @@
 use Drupal\entity_test\Entity\EntityTestStringId;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\file\Entity\File;
 use Drupal\node\Entity\Node;
 use Drupal\taxonomy\Entity\Term;
diff --git a/core/modules/field/src/Tests/FieldAttachOtherTest.php b/core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php
similarity index 99%
rename from core/modules/field/src/Tests/FieldAttachOtherTest.php
rename to core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php
index 6c67793..bf6f29c 100644
--- a/core/modules/field/src/Tests/FieldAttachOtherTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php
@@ -2,13 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldAttachOtherTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldAttachOtherTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Form\FormState;
 use Drupal\entity_test\Entity\EntityTest;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests other Field API functions.
diff --git a/core/modules/field/src/Tests/FieldAttachStorageTest.php b/core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php
similarity index 99%
rename from core/modules/field/src/Tests/FieldAttachStorageTest.php
rename to core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php
index 596eb13..2ae710c 100644
--- a/core/modules/field/src/Tests/FieldAttachStorageTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php
@@ -2,13 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldAttachStorageTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldAttachStorageTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests storage-related Field Attach API functions.
diff --git a/core/modules/field/src/Tests/FieldCrudTest.php b/core/modules/field/tests/src/Kernel/FieldCrudTest.php
similarity index 98%
rename from core/modules/field/src/Tests/FieldCrudTest.php
rename to core/modules/field/tests/src/Kernel/FieldCrudTest.php
index 72738ad..bcd53fb 100644
--- a/core/modules/field/src/Tests/FieldCrudTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldCrudTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldCrudTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldCrudTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Entity\EntityStorageException;
@@ -13,6 +13,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\field\Entity\FieldConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Create field entities by attaching fields to entities.
diff --git a/core/modules/field/src/Tests/FieldDataCountTest.php b/core/modules/field/tests/src/Kernel/FieldDataCountTest.php
similarity index 98%
rename from core/modules/field/src/Tests/FieldDataCountTest.php
rename to core/modules/field/tests/src/Kernel/FieldDataCountTest.php
index c146289..e0e1c6a 100644
--- a/core/modules/field/src/Tests/FieldDataCountTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldDataCountTest.php
@@ -2,15 +2,16 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldDataCountTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldDataCountTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests counting field data records and the hasData() method on
diff --git a/core/modules/field/src/Tests/FieldImportChangeTest.php b/core/modules/field/tests/src/Kernel/FieldImportChangeTest.php
similarity index 85%
rename from core/modules/field/src/Tests/FieldImportChangeTest.php
rename to core/modules/field/tests/src/Kernel/FieldImportChangeTest.php
index 8cf3f9c..9259d5e 100644
--- a/core/modules/field/src/Tests/FieldImportChangeTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldImportChangeTest.php
@@ -2,12 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldImportChangeTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldImportChangeTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\field\Entity\FieldConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Update field storage and fields during config change method invocation.
@@ -20,7 +21,7 @@ class FieldImportChangeTest extends FieldUnitTestBase {
    * Modules to enable.
    *
    * The default configuration provided by field_test_config is imported by
-   * \Drupal\field\Tests\FieldUnitTestBase::setUp() when it installs field
+   * \Drupal\Tests\field\Kernel\FieldUnitTestBase::setUp() when it installs field
    * configuration.
    *
    * @var array
diff --git a/core/modules/field/src/Tests/FieldImportCreateTest.php b/core/modules/field/tests/src/Kernel/FieldImportCreateTest.php
similarity index 95%
rename from core/modules/field/src/Tests/FieldImportCreateTest.php
rename to core/modules/field/tests/src/Kernel/FieldImportCreateTest.php
index 82cb962..d160d7b 100644
--- a/core/modules/field/src/Tests/FieldImportCreateTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldImportCreateTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldImportCreateTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldImportCreateTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\field\Entity\FieldConfig;
 
@@ -97,8 +97,8 @@ function testImportCreate() {
     $this->copyConfig($active, $sync);
 
     // Add the new files to the sync directory.
-    $src_dir = drupal_get_path('module', 'field_test_config') . '/sync';
-    $target_dir = $this->configDirectories[CONFIG_SYNC_DIRECTORY];
+    $src_dir = __DIR__ . '/../../modules/field_test_config/sync';
+    $target_dir = config_get_config_directory(CONFIG_SYNC_DIRECTORY);
     $this->assertTrue(file_unmanaged_copy("$src_dir/$field_storage_config_name.yml", "$target_dir/$field_storage_config_name.yml"));
     $this->assertTrue(file_unmanaged_copy("$src_dir/$field_config_name.yml", "$target_dir/$field_config_name.yml"));
     $this->assertTrue(file_unmanaged_copy("$src_dir/$field_storage_config_name_2.yml", "$target_dir/$field_storage_config_name_2.yml"));
diff --git a/core/modules/field/src/Tests/FieldImportDeleteTest.php b/core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php
similarity index 96%
rename from core/modules/field/src/Tests/FieldImportDeleteTest.php
rename to core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php
index 279be69..20f5b8e 100644
--- a/core/modules/field/src/Tests/FieldImportDeleteTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php
@@ -2,14 +2,15 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldImportDeleteTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldImportDeleteTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Delete field storages and fields during config delete method invocation.
@@ -22,7 +23,7 @@ class FieldImportDeleteTest extends FieldUnitTestBase {
    * Modules to enable.
    *
    * The default configuration provided by field_test_config is imported by
-   * \Drupal\field\Tests\FieldUnitTestBase::setUp() when it installs field
+   * \Drupal\Tests\field\Kernel\FieldUnitTestBase::setUp() when it installs field
    * configuration.
    *
    * @var array
diff --git a/core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php b/core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php
similarity index 97%
rename from core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php
rename to core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php
index 7cfed64..e74a3c7 100644
--- a/core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php
@@ -2,14 +2,15 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldImportDeleteUninstallTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldImportDeleteUninstallTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Delete field storages and fields during config synchronization and uninstall
diff --git a/core/modules/field/src/Tests/FieldStorageCrudTest.php b/core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php
similarity index 99%
rename from core/modules/field/src/Tests/FieldStorageCrudTest.php
rename to core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php
index 2b1dcee..f7d81f3 100644
--- a/core/modules/field/src/Tests/FieldStorageCrudTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldStorageCrudTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldStorageCrudTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Entity\EntityStorageException;
 use Drupal\Core\Entity\Exception\FieldStorageDefinitionUpdateForbiddenException;
@@ -13,6 +13,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests field storage create, read, update, and delete.
diff --git a/core/modules/field/src/Tests/FieldTypePluginManagerTest.php b/core/modules/field/tests/src/Kernel/FieldTypePluginManagerTest.php
similarity index 95%
rename from core/modules/field/src/Tests/FieldTypePluginManagerTest.php
rename to core/modules/field/tests/src/Kernel/FieldTypePluginManagerTest.php
index 68e09d8..9656fe9 100644
--- a/core/modules/field/src/Tests/FieldTypePluginManagerTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldTypePluginManagerTest.php
@@ -2,14 +2,15 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldTypePluginManagerTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldTypePluginManagerTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\Core\Field\BaseFieldDefinition;
 use Drupal\entity_test\Entity\EntityTest;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the field type manager.
diff --git a/core/modules/field/src/Tests/FieldUnitTestBase.php b/core/modules/field/tests/src/Kernel/FieldUnitTestBase.php
similarity index 98%
rename from core/modules/field/src/Tests/FieldUnitTestBase.php
rename to core/modules/field/tests/src/Kernel/FieldUnitTestBase.php
index 3b05f98..68095ff 100644
--- a/core/modules/field/src/Tests/FieldUnitTestBase.php
+++ b/core/modules/field/tests/src/Kernel/FieldUnitTestBase.php
@@ -2,17 +2,17 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldUnitTestBase.
+ * Contains \Drupal\Tests\field\Kernel\FieldUnitTestBase.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\simpletest\KernelTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\KernelTests\KernelTestBase;
 
 /**
  * Parent class for Field API unit tests.
diff --git a/core/modules/field/src/Tests/FieldValidationTest.php b/core/modules/field/tests/src/Kernel/FieldValidationTest.php
similarity index 95%
rename from core/modules/field/src/Tests/FieldValidationTest.php
rename to core/modules/field/tests/src/Kernel/FieldValidationTest.php
index 8f51b7a..e5a2314 100644
--- a/core/modules/field/src/Tests/FieldValidationTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldValidationTest.php
@@ -2,10 +2,11 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FieldValidationTest.
+ * Contains \Drupal\Tests\field\Kernel\FieldValidationTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests field validation.
diff --git a/core/modules/field/src/Tests/FormatterPluginManagerTest.php b/core/modules/field/tests/src/Kernel/FormatterPluginManagerTest.php
similarity index 91%
rename from core/modules/field/src/Tests/FormatterPluginManagerTest.php
rename to core/modules/field/tests/src/Kernel/FormatterPluginManagerTest.php
index bc1c635..4585ef9 100644
--- a/core/modules/field/src/Tests/FormatterPluginManagerTest.php
+++ b/core/modules/field/tests/src/Kernel/FormatterPluginManagerTest.php
@@ -2,12 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\FormatterPluginManagerTest.
+ * Contains \Drupal\Tests\field\Kernel\FormatterPluginManagerTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 use Drupal\Core\Field\BaseFieldDefinition;
 use Drupal\Core\Field\FormatterPluginManager;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the field formatter plugin manager.
diff --git a/core/modules/field/src/Tests/Number/NumberItemTest.php b/core/modules/field/tests/src/Kernel/Number/NumberItemTest.php
similarity index 96%
rename from core/modules/field/src/Tests/Number/NumberItemTest.php
rename to core/modules/field/tests/src/Kernel/Number/NumberItemTest.php
index 8e99d97..d04478a 100644
--- a/core/modules/field/src/Tests/Number/NumberItemTest.php
+++ b/core/modules/field/tests/src/Kernel/Number/NumberItemTest.php
@@ -2,16 +2,16 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\Number\NumberItemTest.
+ * Contains \Drupal\Tests\field\Kernel\Number\NumberItemTest.
  */
 
-namespace Drupal\field\Tests\Number;
+namespace Drupal\Tests\field\Kernel\Number;
 
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
diff --git a/core/modules/field/src/Tests/ShapeItemTest.php b/core/modules/field/tests/src/Kernel/ShapeItemTest.php
similarity index 95%
rename from core/modules/field/src/Tests/ShapeItemTest.php
rename to core/modules/field/tests/src/Kernel/ShapeItemTest.php
index 0a000ad..0cff524 100644
--- a/core/modules/field/src/Tests/ShapeItemTest.php
+++ b/core/modules/field/tests/src/Kernel/ShapeItemTest.php
@@ -2,16 +2,17 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\ShapeItemTest.
+ * Contains \Drupal\Tests\field\Kernel\ShapeItemTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the new entity API for the shape field type.
diff --git a/core/modules/field/src/Tests/String/RawStringFormatterTest.php b/core/modules/field/tests/src/Kernel/String/RawStringFormatterTest.php
similarity index 95%
rename from core/modules/field/src/Tests/String/RawStringFormatterTest.php
rename to core/modules/field/tests/src/Kernel/String/RawStringFormatterTest.php
index a11b9f6..d47dbca 100644
--- a/core/modules/field/src/Tests/String/RawStringFormatterTest.php
+++ b/core/modules/field/tests/src/Kernel/String/RawStringFormatterTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\String\RawStringFormatterTest.
+ * Contains \Drupal\Tests\field\Kernel\String\RawStringFormatterTest.
  */
 
-namespace Drupal\field\Tests\String;
+namespace Drupal\Tests\field\Kernel\String;
 
 use Drupal\Component\Utility\Html;
 use Drupal\Component\Utility\Unicode;
@@ -14,7 +14,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\simpletest\KernelTestBase;
+use Drupal\KernelTests\KernelTestBase;
 
 /**
  * Tests the raw string formatter
diff --git a/core/modules/field/src/Tests/String/StringFormatterTest.php b/core/modules/field/tests/src/Kernel/String/StringFormatterTest.php
similarity index 96%
rename from core/modules/field/src/Tests/String/StringFormatterTest.php
rename to core/modules/field/tests/src/Kernel/String/StringFormatterTest.php
index c61e4bf..af2c679 100644
--- a/core/modules/field/src/Tests/String/StringFormatterTest.php
+++ b/core/modules/field/tests/src/Kernel/String/StringFormatterTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\String\StringFormatterTest.
+ * Contains \Drupal\Tests\field\Kernel\String\StringFormatterTest.
  */
 
-namespace Drupal\field\Tests\String;
+namespace Drupal\Tests\field\Kernel\String;
 
 use Drupal\Component\Utility\Html;
 use Drupal\Component\Utility\Unicode;
@@ -14,7 +14,7 @@
 use Drupal\entity_test\Entity\EntityTestRev;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\simpletest\KernelTestBase;
+use Drupal\KernelTests\KernelTestBase;
 
 /**
  * Tests the creation of text fields.
diff --git a/core/modules/field/src/Tests/String/UuidFormatterTest.php b/core/modules/field/tests/src/Kernel/String/UuidFormatterTest.php
similarity index 91%
rename from core/modules/field/src/Tests/String/UuidFormatterTest.php
rename to core/modules/field/tests/src/Kernel/String/UuidFormatterTest.php
index def8060..f25b49d 100644
--- a/core/modules/field/src/Tests/String/UuidFormatterTest.php
+++ b/core/modules/field/tests/src/Kernel/String/UuidFormatterTest.php
@@ -2,13 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\String\UuidFormatterTest.
+ * Contains \Drupal\Tests\field\Kernel\String\UuidFormatterTest.
  */
 
-namespace Drupal\field\Tests\String;
+namespace Drupal\Tests\field\Kernel\String;
 
-use Drupal\simpletest\KernelTestBase;
 use Drupal\entity_test\Entity\EntityTest;
+use Drupal\KernelTests\KernelTestBase;
 
 /**
  * Tests the output of a UUID field.
diff --git a/core/modules/field/src/Tests/TestItemTest.php b/core/modules/field/tests/src/Kernel/TestItemTest.php
similarity index 95%
rename from core/modules/field/src/Tests/TestItemTest.php
rename to core/modules/field/tests/src/Kernel/TestItemTest.php
index 08b0bae..98740e1 100644
--- a/core/modules/field/src/Tests/TestItemTest.php
+++ b/core/modules/field/tests/src/Kernel/TestItemTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\TestItemTest.
+ * Contains \Drupal\Tests\field\Kernel\TestItemTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Core\Field\BaseFieldDefinition;
 use Drupal\Core\Field\FieldItemInterface;
@@ -13,6 +13,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the new entity API for the test field type.
diff --git a/core/modules/field/src/Tests/TestItemWithDependenciesTest.php b/core/modules/field/tests/src/Kernel/TestItemWithDependenciesTest.php
similarity index 89%
rename from core/modules/field/src/Tests/TestItemWithDependenciesTest.php
rename to core/modules/field/tests/src/Kernel/TestItemWithDependenciesTest.php
index 16d5a78..5bb0d2e 100644
--- a/core/modules/field/src/Tests/TestItemWithDependenciesTest.php
+++ b/core/modules/field/tests/src/Kernel/TestItemWithDependenciesTest.php
@@ -2,13 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\TestItemWithDependenciesTest.
+ * Contains \Drupal\Tests\field\Kernel\TestItemWithDependenciesTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the new entity API for the test field with dependencies type.
diff --git a/core/modules/field/src/Tests/Timestamp/TimestampFormatterTest.php b/core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php
similarity index 95%
rename from core/modules/field/src/Tests/Timestamp/TimestampFormatterTest.php
rename to core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php
index 2323b15..12f4653 100644
--- a/core/modules/field/src/Tests/Timestamp/TimestampFormatterTest.php
+++ b/core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\Timestamp\TimestampFormatterTest.
+ * Contains \Drupal\Tests\field\Kernel\Timestamp\TimestampFormatterTest.
  */
 
-namespace Drupal\field\Tests\Timestamp;
+namespace Drupal\Tests\field\Kernel\Timestamp;
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\Component\Utility\Unicode;
@@ -14,7 +14,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\simpletest\KernelTestBase;
+use Drupal\KernelTests\KernelTestBase;
 
 /**
  * Tests the timestamp formatters.
@@ -104,7 +104,7 @@ protected function renderEntityFields(FieldableEntityInterface $entity, EntityVi
   /**
    * Tests TimestampFormatter.
    */
-  protected function testTimestampFormatter() {
+  public function testTimestampFormatter() {
     $data = [];
 
     // Test standard formats.
@@ -142,7 +142,7 @@ protected function testTimestampFormatter() {
   /**
    * Tests TimestampAgoFormatter.
    */
-  protected function testTimestampAgoFormatter() {
+  public function testTimestampAgoFormatter() {
     $data = [];
 
     foreach (array(1, 2, 3, 4, 5, 6) as $granularity) {
diff --git a/core/modules/field/src/Tests/TranslationTest.php b/core/modules/field/tests/src/Kernel/TranslationTest.php
similarity index 95%
rename from core/modules/field/src/Tests/TranslationTest.php
rename to core/modules/field/tests/src/Kernel/TranslationTest.php
index efe1b7a..4dc7070 100644
--- a/core/modules/field/src/Tests/TranslationTest.php
+++ b/core/modules/field/tests/src/Kernel/TranslationTest.php
@@ -2,13 +2,14 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\TranslationTest.
+ * Contains \Drupal\Tests\field\Kernel\TranslationTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldConfig;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\field\Entity\FieldStorageConfig;
 
@@ -193,7 +194,7 @@ function testTranslatableFieldSaveLoad() {
       }
 
       foreach ($entity->getTranslationLanguages() as $langcode => $language) {
-        $this->assertEqual($entity->getTranslation($langcode)->{$field_name_default}->getValue(), $empty_items, format_string('Empty value correctly populated for language %language.', array('%language' => $langcode)));
+        $this->assertEquals([], $entity->getTranslation($langcode)->{$field_name_default}->getValue(), format_string('Empty value correctly populated for language %language.', array('%language' => $langcode)));
       }
     }
   }
diff --git a/core/modules/field/src/Tests/Uri/UriItemTest.php b/core/modules/field/tests/src/Kernel/Uri/UriItemTest.php
similarity index 92%
rename from core/modules/field/src/Tests/Uri/UriItemTest.php
rename to core/modules/field/tests/src/Kernel/Uri/UriItemTest.php
index ddef127..ca6052c 100644
--- a/core/modules/field/src/Tests/Uri/UriItemTest.php
+++ b/core/modules/field/tests/src/Kernel/Uri/UriItemTest.php
@@ -2,16 +2,16 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\Uri\UriItemTest.
+ * Contains \Drupal\Tests\field\Kernel\Uri\UriItemTest.
  */
 
-namespace Drupal\field\Tests\Uri;
+namespace Drupal\Tests\field\Kernel\Uri;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests URI field functionality.
diff --git a/core/modules/field/src/Tests/WidgetPluginManagerTest.php b/core/modules/field/tests/src/Kernel/WidgetPluginManagerTest.php
similarity index 93%
rename from core/modules/field/src/Tests/WidgetPluginManagerTest.php
rename to core/modules/field/tests/src/Kernel/WidgetPluginManagerTest.php
index d475541..0892227 100644
--- a/core/modules/field/src/Tests/WidgetPluginManagerTest.php
+++ b/core/modules/field/tests/src/Kernel/WidgetPluginManagerTest.php
@@ -2,12 +2,13 @@
 
 /**
  * @file
- * Contains \Drupal\field\Tests\WidgetPluginManagerTest.
+ * Contains \Drupal\Tests\field\Kernel\WidgetPluginManagerTest.
  */
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Kernel;
 use Drupal\Core\Field\BaseFieldDefinition;
 use Drupal\Core\Field\WidgetPluginManager;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 
 /**
  * Tests the field widget manager.
diff --git a/core/modules/file/src/Tests/FileItemTest.php b/core/modules/file/src/Tests/FileItemTest.php
index 2941f4c..972424b 100644
--- a/core/modules/file/src/Tests/FileItemTest.php
+++ b/core/modules/file/src/Tests/FileItemTest.php
@@ -12,7 +12,7 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\file\Entity\File;
 
diff --git a/core/modules/image/src/Tests/ImageItemTest.php b/core/modules/image/src/Tests/ImageItemTest.php
index 4682611..73abed8 100644
--- a/core/modules/image/src/Tests/ImageItemTest.php
+++ b/core/modules/image/src/Tests/ImageItemTest.php
@@ -12,7 +12,7 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\file\Entity\File;
 
diff --git a/core/modules/link/src/Tests/LinkItemTest.php b/core/modules/link/src/Tests/LinkItemTest.php
index 870dc1a..5fd16b7 100644
--- a/core/modules/link/src/Tests/LinkItemTest.php
+++ b/core/modules/link/src/Tests/LinkItemTest.php
@@ -13,7 +13,7 @@
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\link\LinkItemInterface;
 
 /**
diff --git a/core/modules/options/src/Tests/OptionsFieldUnitTestBase.php b/core/modules/options/src/Tests/OptionsFieldUnitTestBase.php
index 14d4b8d..cca8222 100644
--- a/core/modules/options/src/Tests/OptionsFieldUnitTestBase.php
+++ b/core/modules/options/src/Tests/OptionsFieldUnitTestBase.php
@@ -8,13 +8,13 @@
 namespace Drupal\options\Tests;
 
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
  * Base class for Options module integration tests.
  */
-abstract class OptionsFieldUnitTestBase extends FieldUnitTestBase {
+abstract class OptionsFieldUnitTestBase extends \Drupal\Tests\field\Kernel\FieldUnitTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/rdf/src/Tests/Field/FieldRdfaTestBase.php b/core/modules/rdf/src/Tests/Field/FieldRdfaTestBase.php
index f4d2240..bad91a9 100644
--- a/core/modules/rdf/src/Tests/Field/FieldRdfaTestBase.php
+++ b/core/modules/rdf/src/Tests/Field/FieldRdfaTestBase.php
@@ -7,7 +7,7 @@
 namespace Drupal\rdf\Tests\Field;
 
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 abstract class FieldRdfaTestBase extends FieldUnitTestBase {
@@ -45,7 +45,7 @@
    *
    * @var bool
    */
-  protected $debug = TRUE;
+  protected $debug = FALSE;
 
   /**
    * Modules to enable.
diff --git a/core/modules/simpletest/src/RouteProvider.php b/core/modules/simpletest/src/RouteProvider.php
index acff99a..0784d72 100644
--- a/core/modules/simpletest/src/RouteProvider.php
+++ b/core/modules/simpletest/src/RouteProvider.php
@@ -13,6 +13,9 @@
 
 /**
  * Rebuilds the router when the provider is instantiated.
+ *
+ * @todo Move this outside of simpletest namespace to the Drupal\Tests, see
+ *   https://www.drupal.org/node/2672762
  */
 class RouteProvider implements PreloadableRouteProviderInterface, PagedRouteProviderInterface {
 
diff --git a/core/modules/simpletest/src/TestServiceProvider.php b/core/modules/simpletest/src/TestServiceProvider.php
index 5a1a398..ba65c37 100644
--- a/core/modules/simpletest/src/TestServiceProvider.php
+++ b/core/modules/simpletest/src/TestServiceProvider.php
@@ -33,15 +33,25 @@ function register(ContainerBuilder $container) {
    */
   public function alter(ContainerBuilder $container) {
     if (static::$currentTest instanceof KernelTestBase) {
+      static::addRouteProvider($container);
+    }
+  }
+
+  /**
+   * Add the on demand rebuild route provider service.
+   *
+   * @param \Drupal\Core\DependencyInjection\ContainerBuilder $container
+   */
+  public static function addRouteProvider(ContainerBuilder $container) {
+    foreach (['router.route_provider' => 'RouteProvider'] as $original_id => $class) {
       // While $container->get() does a recursive resolve, getDefinition() does
       // not, so do it ourselves.
-      foreach (['router.route_provider' => 'RouteProvider'] as $original_id => $class) {
-        for ($id = $original_id; $container->hasAlias($id); $id = (string) $container->getAlias($id));
-        $definition = $container->getDefinition($id);
-        $definition->clearTag('needs_destruction');
-        $container->setDefinition("simpletest.$original_id", $definition);
-        $container->setDefinition($id, new Definition('Drupal\simpletest\\' . $class));
-      }
+      for ($id = $original_id; $container->hasAlias($id); $id = (string) $container->getAlias($id));
+      $definition = $container->getDefinition($id);
+      $definition->clearTag('needs_destruction');
+      $container->setDefinition("simpletest.$original_id", $definition);
+      $container->setDefinition($id, new Definition('Drupal\simpletest\\' . $class));
     }
   }
+
 }
diff --git a/core/modules/simpletest/tests/src/Unit/TestInfoParsingTest.php b/core/modules/simpletest/tests/src/Unit/TestInfoParsingTest.php
index fda12f1..b96ea79 100644
--- a/core/modules/simpletest/tests/src/Unit/TestInfoParsingTest.php
+++ b/core/modules/simpletest/tests/src/Unit/TestInfoParsingTest.php
@@ -5,7 +5,7 @@
  * Contains \Drupal\Tests\simpletest\Unit\TestInfoParsingTest.
  */
 
-namespace Drupal\Tests\simpletest\Unit;
+namespace Drupal\Tests\simpletest\Unit {
 
 use Composer\Autoload\ClassLoader;
 use Drupal\Core\Extension\Extension;
@@ -87,18 +87,18 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
-        'group' => 'field',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards.',
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
+        'group' => 'simpletest',
+        'description' => 'Tests the Simpletest UI internal browser.',
         'type' => 'Simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
- * Bulk delete storages and fields, and clean up afterwards.
+ * Tests the Simpletest UI internal browser.
  *
- * @group field
+ * @group simpletest
  */
  ",
     ];
@@ -107,18 +107,19 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
-        'group' => 'field',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards.',
-        'type' => 'Simpletest'
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
+        'group' => 'simpletest',
+        'description' => 'Tests the Simpletest UI internal browser.',
+        'type' => 'Simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
-   * Bulk delete storages and fields, and clean up afterwards.
+   * Tests the Simpletest UI internal browser.
    *
-   * @group field
+   * @group simpletest
+   */
    */
  ",
     ];
@@ -128,18 +129,18 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
-        'group' => 'field',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards. * @',
-        'type' => 'Simpletest'
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
+        'group' => 'simpletest',
+        'description' => 'Tests the Simpletest UI internal browser. * @',
+        'type' => 'Simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
-   * Bulk delete storages and fields, and clean up afterwards. * @
+   * Tests the Simpletest UI internal browser. * @
    *
-   * @group field
+   * @group simpletest
    */
  ",
     ];
@@ -148,19 +149,19 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
         'group' => 'Test',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards.',
-        'type' => 'Simpletest'
+        'description' => 'Tests the Simpletest UI internal browser.',
+        'type' => 'Simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
- * Bulk delete storages and fields, and clean up afterwards.
+ * Tests the Simpletest UI internal browser.
  *
  * @group Test
- * @group field
+ * @group simpletest
  */
  ",
     ];
@@ -169,20 +170,20 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
-        'group' => 'field',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards.',
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
+        'description' => 'Tests the Simpletest UI internal browser.',
+        'type' => 'Simpletest',
         'requires' => ['module' => ['test']],
-        'type' => 'Simpletest'
+        'group' => 'simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
- * Bulk delete storages and fields, and clean up afterwards.
+ * Tests the Simpletest UI internal browser.
  *
  * @dependencies test
- * @group field
+ * @group simpletest
  */
  ",
     ];
@@ -191,20 +192,20 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
-        'group' => 'field',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards.',
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
+        'description' => 'Tests the Simpletest UI internal browser.',
+        'type' => 'Simpletest',
         'requires' => ['module' => ['test', 'test1', 'test2']],
-        'type' => 'Simpletest'
+        'group' => 'simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
- * Bulk delete storages and fields, and clean up afterwards.
+ * Tests the Simpletest UI internal browser.
  *
- * @dependencies test, test1,test2
- * @group field
+ * @dependencies test, test1, test2
+ * @group simpletest
  */
  ",
     ];
@@ -213,18 +214,19 @@ public function infoParserProvider() {
     $tests[] = [
       // Expected result.
       [
-        'name' => 'Drupal\field\Tests\BulkDeleteTest',
-        'group' => 'field',
-        'description' => 'Bulk delete storages and fields, and clean up afterwards. And the summary line continues and there is no gap to the annotation.',
-        'type' => 'Simpletest'
+        'name' => 'Drupal\simpletest\Tests\ExampleSimpleTest',
+        'description' => 'Tests the Simpletest UI internal browser. And the summary line continues an there is no gap to the annotation.',
+        'type' => 'Simpletest',
+        'group' => 'simpletest',
       ],
       // Classname.
-      'Drupal\field\Tests\BulkDeleteTest',
+      'Drupal\simpletest\Tests\ExampleSimpleTest',
       // Doc block.
       "/**
- * Bulk delete storages and fields, and clean up afterwards. And the summary
- * line continues and there is no gap to the annotation.
- * @group field
+ * Tests the Simpletest UI internal browser. And the summary line continues an
+ * there is no gap to the annotation.
+ *
+ * @group simpletest
  */
  ",
     ];
@@ -234,10 +236,10 @@ public function infoParserProvider() {
   /**
    * @covers ::getTestInfo
    * @expectedException \Drupal\simpletest\Exception\MissingGroupException
-   * @expectedExceptionMessage Missing @group annotation in Drupal\field\Tests\BulkDeleteTest
+   * @expectedExceptionMessage Missing @group annotation in Drupal\KernelTests\field\BulkDeleteTest
    */
   public function testTestInfoParserMissingGroup() {
-    $classname = 'Drupal\field\Tests\BulkDeleteTest';
+    $classname = 'Drupal\KernelTests\field\BulkDeleteTest';
     $doc_comment = <<<EOT
 /**
  * Bulk delete storages and fields, and clean up afterwards.
@@ -250,7 +252,7 @@ public function testTestInfoParserMissingGroup() {
    * @covers ::getTestInfo
    */
   public function testTestInfoParserMissingSummary() {
-    $classname = 'Drupal\field\Tests\BulkDeleteTest';
+    $classname = 'Drupal\KernelTests\field\BulkDeleteTest';
     $doc_comment = <<<EOT
 /**
  * @group field
@@ -410,3 +412,19 @@ public function providerTestGetPhpunitTestSuite() {
   }
 
 }
+
+}
+
+namespace Drupal\simpletest\Tests {
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests the Simpletest UI internal browser.
+ *
+ * @group simpletest
+ */
+class ExampleSimpleTest extends WebTestBase {
+}
+
+}
diff --git a/core/modules/telephone/src/Tests/TelephoneItemTest.php b/core/modules/telephone/src/Tests/TelephoneItemTest.php
index 53edffa..9c40658 100644
--- a/core/modules/telephone/src/Tests/TelephoneItemTest.php
+++ b/core/modules/telephone/src/Tests/TelephoneItemTest.php
@@ -11,7 +11,7 @@
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
diff --git a/core/modules/text/src/Tests/TextWithSummaryItemTest.php b/core/modules/text/src/Tests/TextWithSummaryItemTest.php
index dcb765f..636204e 100644
--- a/core/modules/text/src/Tests/TextWithSummaryItemTest.php
+++ b/core/modules/text/src/Tests/TextWithSummaryItemTest.php
@@ -10,7 +10,7 @@
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Tests\FieldUnitTestBase;
+use Drupal\Tests\field\Kernel\FieldUnitTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\filter\Entity\FilterFormat;
 
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/RouteProviderTest.php b/core/tests/Drupal/KernelTests/Core/Entity/RouteProviderTest.php
index 9199c74..c97f03a 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/RouteProviderTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/RouteProviderTest.php
@@ -37,13 +37,6 @@ protected function setUp() {
     $this->installEntitySchema('entity_test_mul');
     $this->installEntitySchema('entity_test_admin_routes');
 
-    $router_builder = \Drupal::service('router.builder');
-    $router_builder->rebuild();
-
-    /** @var \Drupal\Core\Routing\RouteBuilderInterface $router_builder */
-    $router_builder = \Drupal::service('router.builder');
-    $router_builder->rebuild();
-
     /** @var \Drupal\user\RoleInterface $role */
     $role = Role::create([
       'id' => RoleInterface::ANONYMOUS_ID
diff --git a/core/tests/Drupal/KernelTests/KernelTestBase.php b/core/tests/Drupal/KernelTests/KernelTestBase.php
index 25ca3b7..9556fc6 100644
--- a/core/tests/Drupal/KernelTests/KernelTestBase.php
+++ b/core/tests/Drupal/KernelTests/KernelTestBase.php
@@ -25,6 +25,7 @@
 use Drupal\simpletest\AssertContentTrait;
 use Drupal\simpletest\AssertHelperTrait;
 use Drupal\simpletest\RandomGeneratorTrait;
+use Drupal\simpletest\TestServiceProvider;
 use Symfony\Component\DependencyInjection\Reference;
 use Symfony\Component\HttpFoundation\Request;
 use org\bovigo\vfs\vfsStream;
@@ -601,6 +602,7 @@ public function register(ContainerBuilder $container) {
       $container->getDefinition('password')
         ->setArguments(array(1));
     }
+    TestServiceProvider::addRouteProvider($container);
   }
 
   /**
@@ -923,6 +925,12 @@ protected function disableModules(array $modules) {
    *   The rendered string output (typically HTML).
    */
   protected function render(array &$elements) {
+    // \Drupal\Core\Render\BareHtmlPageRenderer::renderBarePage calls out to
+    // system_page_attachments() directly.
+    if (!\Drupal::moduleHandler()->moduleExists('system')) {
+      throw new \Exception(__METHOD__ . ' requires system module to be installed.');
+    }
+
     // Use the bare HTML page renderer to render our links.
     $renderer = $this->container->get('bare_html_page_renderer');
     $response = $renderer->renderBarePage(
