diff --git a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
index 435907b..42488c7 100644
--- a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
+++ b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
@@ -315,34 +315,36 @@ protected function ensureTables() {
       $this->getDatabase()->schema()->createTable($this->mapTableName, $schema);
 
       // Now do the message table.
-      $fields = array();
-      $fields['msgid'] = array(
-        'type' => 'serial',
-        'unsigned' => TRUE,
-        'not null' => TRUE,
-      );
-      $fields += $source_id_schema;
+      if (!$this->getDatabase()->schema()->tableExists($this->messageTableName())) {
+        $fields = array();
+        $fields['msgid'] = array(
+          'type' => 'serial',
+          'unsigned' => TRUE,
+          'not null' => TRUE,
+        );
+        $fields += $source_id_schema;
 
-      $fields['level'] = array(
-        'type' => 'int',
-        'unsigned' => TRUE,
-        'not null' => TRUE,
-        'default' => 1,
-      );
-      $fields['message'] = array(
-        'type' => 'text',
-        'size' => 'medium',
-        'not null' => TRUE,
-      );
-      $schema = array(
-        'description' => 'Messages generated during a migration process',
-        'fields' => $fields,
-        'primary key' => array('msgid'),
-      );
-      if ($pks) {
-        $schema['indexes']['sourcekey'] = $pks;
+        $fields['level'] = array(
+          'type' => 'int',
+          'unsigned' => TRUE,
+          'not null' => TRUE,
+          'default' => 1,
+        );
+        $fields['message'] = array(
+          'type' => 'text',
+          'size' => 'medium',
+          'not null' => TRUE,
+        );
+        $schema = array(
+          'description' => 'Messages generated during a migration process',
+          'fields' => $fields,
+          'primary key' => array('msgid'),
+        );
+        if ($pks) {
+          $schema['indexes']['sourcekey'] = $pks;
+        }
+        $this->getDatabase()->schema()->createTable($this->messageTableName(), $schema);
       }
-      $this->getDatabase()->schema()->createTable($this->messageTableName(), $schema);
     }
     else {
       // Add any missing columns to the map table.
diff --git a/core/modules/migrate/src/Tests/MigrateTestBase.php b/core/modules/migrate/src/Tests/MigrateTestBase.php
index cee8e5d..a4e39c4 100644
--- a/core/modules/migrate/src/Tests/MigrateTestBase.php
+++ b/core/modules/migrate/src/Tests/MigrateTestBase.php
@@ -11,12 +11,12 @@
 use Drupal\migrate\Entity\MigrationInterface;
 use Drupal\migrate\MigrateMessageInterface;
 use Drupal\migrate\Row;
-use Drupal\simpletest\WebTestBase;
+use Drupal\simpletest\KernelTestBase;
 
 /**
  * Base class for migration tests.
  */
-abstract class MigrateTestBase extends WebTestBase implements MigrateMessageInterface {
+abstract class MigrateTestBase extends KernelTestBase implements MigrateMessageInterface {
 
   /**
    * The file path(s) to the dumped database(s) to load into the child site.
@@ -50,16 +50,17 @@
    */
   protected function setUp() {
     parent::setUp();
+
     $connection_info = Database::getConnectionInfo('default');
     foreach ($connection_info as $target => $value) {
-      $connection_info[$target]['prefix'] = array(
-        // Simpletest uses 7 character prefixes at most so this can't cause
-        // collisions.
-        'default' => $value['prefix']['default'] . '0',
-        // Add the original simpletest prefix so SQLite can attach its database.
-        // @see \Drupal\Core\Database\Driver\sqlite\Connection::init()
-        $value['prefix']['default'] => $value['prefix']['default'],
-      );
+      $prefix = is_array($value['prefix']) ? $value['prefix']['default'] : $value['prefix'];
+      // Simpletest uses 7 character prefixes at most so this can't cause
+      // collisions.
+      $connection_info[$target]['prefix']['default'] = $prefix . '0';
+
+      // Add the original simpletest prefix so SQLite can attach its database.
+      // @see \Drupal\Core\Database\Driver\sqlite\Connection::init()
+      $connection_info[$target]['prefix'][$value['prefix']['default']] = $value['prefix']['default'];
     }
     Database::addConnectionInfo('migrate', 'default', $connection_info['default']);
   }
diff --git a/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php b/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php
index ceaddbb..c2f222c 100644
--- a/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php
+++ b/core/modules/migrate/tests/src/Unit/MigrateSqlIdMapEnsureTablesTest.php
@@ -112,9 +112,13 @@ public function testEnsureTablesNotExist() {
     $table_schema['indexes']['sourcekey'] = array('sourceid1');
 
     $schema->expects($this->at(2))
+      ->method('tableExists')
+      ->with('migrate_message_sql_idmap_test')
+      ->will($this->returnValue(FALSE));
+    $schema->expects($this->at(3))
       ->method('createTable')
       ->with('migrate_message_sql_idmap_test', $table_schema);
-    $schema->expects($this->exactly(3))
+    $schema->expects($this->any())
       ->method($this->anything());
     $this->runEnsureTablesTest($schema);
   }
diff --git a/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php b/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php
index 3739886..b8a436f 100644
--- a/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php
@@ -15,19 +15,22 @@
 abstract class MigrateDrupalTestBase extends MigrateTestBase {
 
   /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('system', 'user', 'field', 'migrate_drupal', 'options');
+
+  /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
     $this->loadDumps([$this->getDumpDirectory() . '/System.php']);
-  }
 
-  /**
-   * Modules to enable.
-   *
-   * @var array
-   */
-  public static $modules = array('migrate_drupal');
+    $this->installEntitySchema('user');
+    $this->installConfig(['migrate_drupal', 'system']);
+  }
 
   /**
    * Returns the path to the dump directory.
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php
index 9138e77..958d6bc 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php
@@ -25,6 +25,8 @@ class MigrateAggregatorFeedTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+    $this->installEntitySchema('aggregator_feed');
+
     $migration = entity_load('migration', 'd6_aggregator_feed');
     $dumps = array(
       $this->getDumpDirectory() . '/AggregatorFeed.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php
index 9bd0d0e..9e075ba 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php
@@ -26,6 +26,9 @@ class MigrateAggregatorItemTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+    $this->installEntitySchema('aggregator_feed');
+    $this->installEntitySchema('aggregator_item');
+
     // Add some id mappings for the dependant migrations.
     $id_mappings = array(
       'd6_aggregator_feed' => array(
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php
index 8cbb70f..eb13b49 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php
@@ -21,13 +21,16 @@
  */
 class MigrateBlockContentTest extends MigrateDrupal6TestBase {
 
-  static $modules = array('block', 'block_content');
+  static $modules = array('block', 'block_content', 'filter', 'text');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+    $this->installConfig(array('block_content'));
+    $this->installEntitySchema('block_content');
+
     $migration = entity_load('migration', 'd6_block_content_type');
     $executable = new MigrateExecutable($migration, $this);
     $executable->import();
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php
index b98b66b..a1ec049 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php
@@ -37,6 +37,8 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+    $this->installEntitySchema('block_content');
+
     $entities = array(
       entity_create('menu', array('id' => 'primary-links')),
       entity_create('menu', array('id' => 'secondary-links')),
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php
index 645ec4c..deb3208 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php
@@ -26,13 +26,14 @@ class MigrateBookConfigsTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  public static $modules = array('book');
+  public static $modules = array('book', 'system', 'node', 'field', 'text', 'entity_reference');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
     $migration = entity_load('migration', 'd6_book_settings');
     $dumps = array(
       $this->getDumpDirectory() . '/Variable.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php
index 576d3ac..a98e827 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php
@@ -18,13 +18,18 @@
  */
 class MigrateBookTest extends MigrateDrupal6TestBase {
 
-  public static $modules = array('book');
+  public static $modules = array('book', 'system', 'node', 'field', 'text', 'entity_reference', 'user');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('node');
+    $this->installSchema('book', array('book'));
+    $this->installSchema('node', array('node_access'));
+
     $id_mappings = array();
     for ($i = 4; $i <= 8; $i++) {
       $entity = entity_create('node', array(
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
index 5086cb9..67729f4 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
@@ -23,13 +23,16 @@ class MigrateCckFieldValuesTest extends MigrateNodeTestBase {
    *
    * @var array
    */
-  public static $modules = array('node', 'text', 'link', 'file');
+  public static $modules = array('node', 'text', 'filter', 'link', 'file');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('file');
+
     entity_create('field_storage_config', array(
       'entity_type' => 'node',
       'field_name' => 'field_test',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
index a962390..2c0e9c5 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
@@ -22,13 +22,18 @@ class MigrateCommentTest extends MigrateDrupal6TestBase {
 
   use CommentTestTrait;
 
-  static $modules = array('node', 'comment');
+  static $modules = array('node', 'comment', 'text', 'filter');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('node');
+    $this->installEntitySchema('comment');
+    $this->installConfig(['node', 'comment']);
+
     entity_create('node_type', array('type' => 'page'))->save();
     entity_create('node_type', array('type' => 'story'))->save();
     $this->addDefaultCommentField('node', 'story');
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
index d3e687e..6a4560b 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
@@ -18,7 +18,7 @@
  */
 class MigrateCommentTypeTest extends MigrateDrupal6TestBase {
 
-  static $modules = array('node', 'comment');
+  static $modules = array('node', 'comment', 'text', 'filter');
 
   /**
    * {@inheritdoc}
@@ -26,6 +26,10 @@ class MigrateCommentTypeTest extends MigrateDrupal6TestBase {
   protected function setUp() {
     parent::setUp();
 
+    $this->installEntitySchema('node');
+    $this->installEntitySchema('comment');
+    $this->installConfig(['node', 'comment']);
+
     /** @var \Drupal\migrate\entity\Migration $migration */
     $migration = entity_load('migration', 'd6_comment_type');
 
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
index 33835a7..8a93240 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
@@ -8,6 +8,7 @@
 namespace Drupal\migrate_drupal\Tests\d6;
 
 use Drupal\migrate_drupal\Tests\MigrateFullDrupalTestBase;
+use Drupal\user\Entity\User;
 
 /**
  * Tests the complete Drupal 6 migration.
@@ -21,7 +22,7 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
    *
    * @var array
    */
-  static $modules = array(
+  public static $modules = array(
     'action',
     'aggregator',
     'block',
@@ -33,14 +34,18 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
     'dblog',
     'entity_reference',
     'file',
+    'filter',
     'forum',
     'image',
+    'language',
     'link',
     'locale',
+    'menu_link_content',
     'menu_ui',
     'node',
     'options',
     'search',
+    'system',
     'simpletest',
     'statistics',
     'syslog',
@@ -48,6 +53,7 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
     'telephone',
     'text',
     'update',
+    'user',
     'views',
   );
 
@@ -158,6 +164,39 @@ protected function setUp() {
     $config->set('default', 'bartik');
     $config->set('admin', 'seven');
     $config->save();
+
+    foreach (static::$modules as $module) {
+      $function = $module . '_schema';
+      module_load_install($module);
+      if (function_exists($function)) {
+        $schema = $function();
+        $this->installSchema($module, array_keys($schema));
+      }
+    }
+
+    $this->installEntitySchema('aggregator_feed');
+    $this->installEntitySchema('aggregator_item');
+    $this->installEntitySchema('block_content');
+    $this->installEntitySchema('comment');
+    $this->installEntitySchema('file');
+    $this->installEntitySchema('node');
+    $this->installEntitySchema('menu_link_content');
+    $this->installEntitySchema('taxonomy_term');
+    $this->installEntitySchema('user');
+
+    $this->installConfig(['block_content', 'comment', 'file', 'node', 'simpletest']);
+
+    // Install one of D8's test themes.
+    \Drupal::service('theme_handler')->install(array('test_theme'));
+
+    // Create a new user which needs to have UID 1, because that is expected by
+    // the assertions from
+    // \Drupal\migrate_drupal\Tests\d6\MigrateNodeRevisionTest.
+    User::create([
+      'uid' => 1,
+      'name' => $this->randomMachineName(),
+      'status' => 1,
+    ])->enforceIsNew(TRUE)->save();
   }
 
   /**
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
index 2175cb0..eb26f9c 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
@@ -31,6 +31,8 @@ class MigrateFieldFormatterSettingsTest extends MigrateDrupal6TestBase {
   protected function setUp() {
     parent::setUp();
 
+    $this->installConfig(['node']);
+
     entity_create('node_type', array('type' => 'test_page'))->save();
     entity_create('node_type', array('type' => 'story'))->save();
     // Create the node preview view mode.
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
index a57307e..623f6a5 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
@@ -32,6 +32,7 @@ class MigrateFieldInstanceTest extends MigrateDrupal6TestBase {
     'datetime',
     'node',
     'field',
+    'text',
   );
 
   /**
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
index 36051b0..04a3f2e 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
@@ -23,7 +23,7 @@ class MigrateFieldTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  public static $modules = array('field', 'telephone', 'link', 'file', 'image', 'datetime', 'node', 'options');
+  public static $modules = array('field', 'telephone', 'link', 'file', 'image', 'datetime', 'node', 'options', 'text');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
index f52b3bf..b9b79bb 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
@@ -30,6 +30,7 @@ class MigrateFieldWidgetSettingsTest extends MigrateDrupal6TestBase {
     'image',
     'datetime',
     'node',
+    'text',
   );
 
   /**
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
index 91560a4..f0eedc2 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
@@ -40,6 +40,10 @@ class MigrateFileTest extends MigrateDrupal6TestBase implements MigrateDumpAlter
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('file');
+    $this->installConfig(['file']);
+
     $dumps = array(
       $this->getDumpDirectory() . '/Files.php',
     );
@@ -114,6 +118,7 @@ public static function migrateDumpAlter(TestBase $test) {
     // Creates a random filename and updates the source database.
     $random = new Random();
     $temp_directory = $test->getTempFilesDirectory();
+    file_prepare_directory($temp_directory, FILE_CREATE_DIRECTORY);
     static::$tempFilename = $test->getDatabasePrefix() . $random->name() . '.jpg';
     $file_path = $temp_directory . '/' . static::$tempFilename;
     file_put_contents($file_path, '');
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php
index c65ec80..f91dade 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php
@@ -25,7 +25,7 @@ class MigrateForumConfigsTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  public static $modules = array('forum');
+  public static $modules = array('comment', 'forum', 'taxonomy');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php
index 02bc061..721745d 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php
@@ -25,7 +25,7 @@ class MigrateLocaleConfigsTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  public static $modules = array('locale');
+  public static $modules = array('locale', 'language');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuLinkTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuLinkTest.php
index 5323594..7a64bfb 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuLinkTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuLinkTest.php
@@ -22,7 +22,7 @@ class MigrateMenuLinkTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  public static $modules = array('menu_ui');
+  public static $modules = array('link', 'menu_ui', 'menu_link_content');
 
   /**
    * {@inheritdoc}
@@ -30,6 +30,9 @@ class MigrateMenuLinkTest extends MigrateDrupal6TestBase {
   protected function setUp() {
     parent::setUp();
 
+    $this->installSchema('system', ['router']);
+    $this->installEntitySchema('menu_link_content');
+
     $menu = entity_create('menu', array('id' => 'secondary-links'));
     $menu->enforceIsNew(TRUE);
     $menu->save();
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTestBase.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTestBase.php
index 4430ef0..4ff3ae3 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTestBase.php
@@ -9,19 +9,36 @@
 
 use Drupal\migrate_drupal\Tests\d6\MigrateDrupal6TestBase;
 use Drupal\migrate\Entity\MigrationInterface;
+use Drupal\user\Entity\User;
 
 /**
  * Base class for Node migration tests.
  */
 abstract class MigrateNodeTestBase extends MigrateDrupal6TestBase {
 
-  static $modules = array('node');
+  static $modules = array('node', 'text', 'filter', 'entity_reference');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('node');
+    $this->installConfig(['node']);
+    $this->installSchema('node', ['node_access']);
+    $this->installSchema('system', ['sequences']);
+
+    // Create a new user which needs to have UID 1, because that is expected by
+    // the assertions from
+    // \Drupal\migrate_drupal\Tests\d6\MigrateNodeRevisionTest.
+    User::create([
+      'uid' => 1,
+      'name' => $this->randomMachineName(),
+      'status' => 1,
+    ])->enforceIsNew(TRUE)->save();
+
+
     $node_type = entity_create('node_type', array('type' => 'test_planet'));
     $node_type->save();
     node_add_body_field($node_type);
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php
index 5880c40..b79b495 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php
@@ -24,13 +24,16 @@ class MigrateNodeTypeTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  public static $modules = array('node');
+  public static $modules = array('node', 'text', 'filter');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installConfig(array('node'));
+
     $migration = entity_load('migration', 'd6_node_type');
     $dumps = array(
       $this->getDumpDirectory() . '/NodeType.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php
index dcf147e..6ad86e8 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php
@@ -33,6 +33,9 @@ class MigrateSimpletestConfigsTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installConfig(['simpletest']);
+
     $migration = entity_load('migration', 'd6_simpletest_settings');
     $dumps = array(
       $this->getDumpDirectory() . '/Variable.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php
index 39d8025..8cbfa6d 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php
@@ -18,13 +18,16 @@
  */
 class MigrateTaxonomyTermTest extends MigrateDrupal6TestBase {
 
-  static $modules = array('taxonomy');
+  static $modules = array('taxonomy', 'text');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('taxonomy_term');
+
     $this->prepareMigrations(array(
       'd6_taxonomy_vocabulary' => array(
         array(array(1), array('vocabulary_1_i_0_')),
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTestBase.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTestBase.php
index 2dd8890..ac087b9 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTestBase.php
@@ -20,13 +20,18 @@
   /**
    * {@inheritdoc}
    */
-  static $modules = array('node', 'taxonomy');
+  static $modules = array('node', 'taxonomy', 'text', 'filter', 'entity_reference');
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('node');
+    $this->installEntitySchema('taxonomy_term');
+    $this->installSchema('node', array('node_access'));
+
     $vocabulary = entity_create('taxonomy_vocabulary', array(
       'vid' => 'test',
     ));
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadBase.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadBase.php
index d8946b7..e195da1 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadBase.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadBase.php
@@ -24,6 +24,12 @@
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('file');
+    $this->installEntitySchema('node');
+    $this->installSchema('file', ['file_usage']);
+    $this->installSchema('node', ['node_access']);
+
     // Create new file entities.
     for ($i = 1; $i <= 3; $i++) {
       $file = entity_create('file', array(
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php
index e3f9663..7373557 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php
@@ -24,6 +24,9 @@ class MigrateUrlAliasTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installSchema('system', ['url_alias']);
+
     $migration = entity_load('migration', 'd6_url_alias');
     $dumps = array(
       $this->getDumpDirectory() . '/UrlAlias.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php
index 356ca2b..d03d8fa 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserContactSettingsTest.php
@@ -24,6 +24,8 @@ class MigrateUserContactSettingsTest extends MigrateDrupal6TestBase {
   protected function setUp() {
     parent::setUp();
 
+    $this->installSchema('user', array('users_data'));
+
     $dumps = array(
       $this->getDumpDirectory() . '/Users.php',
       $this->getDumpDirectory() . '/ProfileValues.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
index 35857f1..8653de2 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
@@ -18,7 +18,7 @@
  */
 class MigrateUserPictureFieldTest extends MigrateDrupal6TestBase {
 
-  static $modules = array('image');
+  static $modules = array('image', 'file');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
index a12ffe0..e444e05 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
@@ -29,6 +29,9 @@ class MigrateUserPictureFileTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('file');
+
     $dumps = array(
       $this->getDumpDirectory() . '/Users.php',
       $this->getDumpDirectory() . '/ProfileValues.php',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
index f97aff6..e032ff0 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
@@ -23,7 +23,7 @@ class MigrateUserPictureInstanceTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  static $modules = array('image');
+  static $modules = array('image', 'file');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
index 8e0f237..5492526 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
@@ -23,7 +23,7 @@ class MigrateUserProfileEntityDisplayTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  static $modules = array('link', 'options', 'datetime');
+  static $modules = array('link', 'options', 'datetime', 'text');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
index 0164fe7..a127ded 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
@@ -18,7 +18,7 @@
  */
 class MigrateUserProfileEntityFormDisplayTest extends MigrateDrupal6TestBase {
 
-  static $modules = array('link', 'options', 'datetime');
+  static $modules = array('link', 'options', 'datetime', 'text');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
index 2622675..4388c22 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
@@ -18,7 +18,7 @@
  */
 class MigrateUserProfileFieldTest extends MigrateDrupal6TestBase {
 
-  static $modules = array('link', 'options', 'datetime');
+  static $modules = array('link', 'options', 'datetime', 'text');
 
   /**
    * {@inheritdoc}
@@ -59,7 +59,7 @@ public function testUserProfileFields() {
     $field_storage = FieldStorageConfig::load('user.profile_sold_to');
     $this->assertIdentical('list_string', $field_storage->getType(), 'Field type is list_string.');
     $settings = $field_storage->getSettings();
-    $this->assertIdentical($settings['allowed_values'], array(
+    $this->assertEqual($settings['allowed_values'], array(
       'Pill spammers' => 'Pill spammers',
       'Fitness spammers' => 'Fitness spammers',
       'Back\slash' => 'Back\slash',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
index eea30a1..0e781ce 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
@@ -40,6 +40,10 @@ class MigrateUserTest extends MigrateDrupal6TestBase {
    */
   protected function setUp() {
     parent::setUp();
+
+    $this->installEntitySchema('file');
+    $this->installSchema('file', ['file_usage']);
+
     // Create the user profile field and instance.
     entity_create('field_storage_config', array(
       'entity_type' => 'user',
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php
index f250ba0..46cb5c2 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php
@@ -22,7 +22,7 @@ class MigrateVocabularyEntityDisplayTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  static $modules = array('field', 'node', 'taxonomy');
+  static $modules = array('field', 'node', 'taxonomy', 'text', 'entity_reference');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php
index cbbab33..7a07405 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php
@@ -22,7 +22,7 @@ class MigrateVocabularyEntityFormDisplayTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  static $modules = array('taxonomy', 'field');
+  static $modules = array('node', 'taxonomy', 'field', 'text', 'entity_reference');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php
index 6b84d59..52e60c1 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php
@@ -24,7 +24,7 @@ class MigrateVocabularyFieldInstanceTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  static $modules = array('node', 'field', 'taxonomy');
+  static $modules = array('node', 'field', 'taxonomy', 'text', 'entity_reference');
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php
index 6fdfd45..edf8d7b 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php
@@ -23,7 +23,7 @@ class MigrateVocabularyFieldTest extends MigrateDrupal6TestBase {
    *
    * @var array
    */
-  static $modules = array('taxonomy', 'field');
+  static $modules = array('node', 'taxonomy', 'field', 'text', 'entity_reference');
 
   /**
    * {@inheritdoc}
