diff --git a/core/modules/migrate/config/schema/migrate.destination.schema.yml b/core/modules/migrate/config/schema/migrate.destination.schema.yml
index c622f4c..b295741 100644
--- a/core/modules/migrate/config/schema/migrate.destination.schema.yml
+++ b/core/modules/migrate/config/schema/migrate.destination.schema.yml
@@ -16,11 +16,3 @@ migrate.destination.config:
     config_name:
       type: string
       label: 'Configuration name'
-
-migrate.destination.entity:file:
-  type: migrate_destination
-  label: 'Picture'
-  mapping:
-    source_path_property:
-      type: string
-      label: 'Source path'
diff --git a/core/modules/migrate/src/Tests/MigrateTestBase.php b/core/modules/migrate/src/Tests/MigrateTestBase.php
index 67210f7..e70dd2a 100644
--- a/core/modules/migrate/src/Tests/MigrateTestBase.php
+++ b/core/modules/migrate/src/Tests/MigrateTestBase.php
@@ -143,6 +143,15 @@ protected function prepareMigrations(array $id_mappings) {
   protected function executeMigration($migration) {
     if (is_string($migration)) {
       $this->migration = Migration::load($migration);
+
+      // If the migration could not be loaded, try to create it from a template.
+      if (empty($this->migration)) {
+        $template = \Drupal::service('migrate.template_storage')->getTemplateByName($migration);
+        if ($template) {
+          $this->migration = Migration::create($template);
+          $this->migration->save();
+        }
+      }
     }
     else {
       $this->migration = $migration;
diff --git a/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php b/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php
index 9d4e1a2..0483835 100644
--- a/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/MigrateDrupalTestBase.php
@@ -55,29 +55,6 @@ protected function loadDumps(array $files, $method = 'load') {
   }
 
   /**
-   * Turn all the migration templates for the specified drupal version into
-   * real migration entities so we can test them.
-   *
-   * @param string $version
-   *  Drupal version as provided in migration_tags - e.g., 'Drupal 6'.
-   */
-  protected function installMigrations($version) {
-    $migration_templates = \Drupal::service('migrate.template_storage')->findTemplatesByTag($version);
-    foreach ($migration_templates as $template) {
-      try {
-        $migration = Migration::create($template);
-        $migration->save();
-      }
-      catch (PluginNotFoundException $e) {
-        // Migrations requiring modules not enabled will throw an exception.
-        // Ignoring this exception is equivalent to placing config in the
-        // optional subdirectory - the migrations we require for the test will
-        // be successfully saved.
-      }
-    }
-  }
-
-  /**
    * Test that the source plugin provides a valid query and a valid count.
    */
   public function testSourcePlugin() {
diff --git a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
index 98289c0..4b9fb94 100644
--- a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
@@ -7,6 +7,8 @@
 
 namespace Drupal\migrate_drupal\Tests;
 
+use Drupal\Component\Plugin\Exception\PluginNotFoundException;
+use Drupal\migrate\Entity\Migration;
 use Drupal\migrate\MigrateExecutable;
 use Drupal\simpletest\TestBase;
 
@@ -89,7 +91,7 @@ public function testDrupal() {
     }
 
     // Run every migration in the order specified by the storage controller.
-    foreach (entity_load_multiple('migration', static::$migrations) as $migration) {
+    foreach (Migration::loadMultiple(static::$migrations) as $migration) {
       (new MigrateExecutable($migration, $this))->import();
     }
     foreach ($classes as $class) {
@@ -130,4 +132,27 @@ public function testDrupal() {
     }
   }
 
+  /**
+   * Turn all the migration templates for the specified drupal version into
+   * real migration entities so we can test them.
+   *
+   * @param string $version
+   *  Drupal version as provided in migration_tags - e.g., 'Drupal 6'.
+   */
+  protected function installMigrations($version) {
+    $migration_templates = \Drupal::service('migrate.template_storage')->findTemplatesByTag($version);
+    foreach ($migration_templates as $template) {
+      try {
+        $migration = Migration::create($template);
+        $migration->save();
+      }
+      catch (PluginNotFoundException $e) {
+        // Migrations requiring modules not enabled will throw an exception.
+        // Ignoring this exception is equivalent to placing config in the
+        // optional subdirectory - the migrations we require for the test will
+        // be successfully saved.
+      }
+    }
+  }
+
 }
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6TestBase.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6TestBase.php
index cad03da..e508718 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6TestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6TestBase.php
@@ -15,14 +15,6 @@
 abstract class MigrateDrupal6TestBase extends MigrateDrupalTestBase {
 
   /**
-   * {@inheritdoc}
-   */
-  protected function setUp() {
-    parent::setUp();
-    $this->installMigrations('Drupal 6');
-  }
-
-  /**
      * {@inheritdoc}
      */
   protected function getDumpDirectory() {
diff --git a/core/modules/migrate_drupal/src/Tests/d7/MigrateDrupal7TestBase.php b/core/modules/migrate_drupal/src/Tests/d7/MigrateDrupal7TestBase.php
index 95e89f1..661db41 100644
--- a/core/modules/migrate_drupal/src/Tests/d7/MigrateDrupal7TestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/d7/MigrateDrupal7TestBase.php
@@ -17,14 +17,6 @@
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
-    parent::setUp();
-    $this->installMigrations('Drupal 7');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
   protected function getDumpDirectory() {
     return parent::getDumpDirectory() . '/d7';
   }
