diff --git a/core/modules/migrate/src/Tests/MigrateDumpAlterInterface.php b/core/modules/migrate/src/Tests/MigrateDumpAlterInterface.php
new file mode 100644
index 0000000..9ecf825
--- /dev/null
+++ b/core/modules/migrate/src/Tests/MigrateDumpAlterInterface.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate\Tests\MigrateDumpAlterInterface.
+ */
+
+namespace Drupal\migrate\Tests;
+
+/**
+ * Allows tests to alter dumps after they've loaded.
+ *
+ * @s
+ * @see \Drupal\migrate_drupal\Tests\d6\MigrateFileTest
+ */
+interface MigrateDumpAlterInterface {
+
+  /**
+   * Allows tests to alter dumps after they've loaded.
+   *
+   * @param $database_prefix
+   *   The simpletest database prefix. Can be used to ensure uniqueness to the
+   *   specific test.
+   */
+  public static function migrateDumpAlter($database_prefix);
+
+}
diff --git a/core/modules/migrate/src/Tests/MigrateTearDownInterface.php b/core/modules/migrate/src/Tests/MigrateTearDownInterface.php
new file mode 100644
index 0000000..06f68ac
--- /dev/null
+++ b/core/modules/migrate/src/Tests/MigrateTearDownInterface.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate\Tests\MigrateTearDownInterface.
+ */
+
+namespace Drupal\migrate\Tests;
+
+/**
+ * Allows tests to cleanup.
+ */
+interface MigrateTearDownInterface {
+
+  /**
+   * Allows tests to cleanup.
+   */
+  public static function migrateTearDown();
+
+}
diff --git a/core/modules/migrate/src/Tests/MigrateTestBase.php b/core/modules/migrate/src/Tests/MigrateTestBase.php
index 764c49e..ec60ad9 100644
--- a/core/modules/migrate/src/Tests/MigrateTestBase.php
+++ b/core/modules/migrate/src/Tests/MigrateTestBase.php
@@ -66,6 +66,9 @@ protected function setUp() {
    */
   protected function tearDown() {
     Database::removeConnection('migrate');
+    if ($this instanceof MigrateTearDownInterface) {
+      static::migrateTearDown();
+    }
     parent::tearDown();
   }
 
@@ -79,6 +82,9 @@ protected function tearDown() {
    */
   protected function prepare(MigrationInterface $migration, array $files = array()) {
     $this->loadDumps($files);
+    if ($this instanceof MigrateDumpAlterInterface) {
+      static::migrateDumpAlter($this->databasePrefix);
+    }
   }
 
   /**
diff --git a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
index 956a4e6..2796f1e 100644
--- a/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
+++ b/core/modules/migrate_drupal/src/Tests/MigrateFullDrupalTestBase.php
@@ -54,6 +54,11 @@ public function testDrupal() {
     $this->loadDumps($dumps);
 
     $classes = $this->getTestClassesList();
+    foreach ($classes as $class) {
+      if (is_subclass_of($class, '\Drupal\migrate\Tests\MigrateDumpAlterInterface')) {
+        $class::migrateDumpAlter($this->databasePrefix);
+      }
+    }
 
     // Run every migration in the order specified by the storage controller.
     foreach (entity_load_multiple('migration', static::$migrations) as $migration) {
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
index a644a99..33835a7 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
@@ -158,9 +158,6 @@ protected function setUp() {
     $config->set('default', 'bartik');
     $config->set('admin', 'seven');
     $config->save();
-
-    // We need a temp file for testing the MigrateFileTest.
-    file_put_contents('/tmp/some-temp-file.jpg', '');
   }
 
   /**
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
index 342c077..b38e8b5 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
@@ -7,7 +7,10 @@
 
 namespace Drupal\migrate_drupal\Tests\d6;
 
+use Drupal\Component\Utility\Random;
 use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\Tests\MigrateDumpAlterInterface;
+use Drupal\migrate\Tests\MigrateTearDownInterface;
 use Drupal\migrate_drupal\Tests\d6\MigrateDrupal6TestBase;
 use Drupal\Core\Database\Database;
 
@@ -16,7 +19,9 @@
  *
  * @group migrate_drupal
  */
-class MigrateFileTest extends MigrateDrupal6TestBase {
+class MigrateFileTest extends MigrateDrupal6TestBase implements MigrateDumpAlterInterface, MigrateTearDownInterface {
+
+  protected static $tempFilename;
 
   /**
    * Modules to enable.
@@ -45,7 +50,13 @@ protected function setUp() {
     $executable = new MigrateExecutable($migration, $this);
     $executable->import();
     $this->standalone = TRUE;
-    file_put_contents('/tmp/some-temp-file.jpg', '');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function migrateTearDown() {
+    unlink('/tmp/' . static::getUniqueFilename());
   }
 
   /**
@@ -90,7 +101,41 @@ public function testFiles() {
 
     // Ensure that a temporary file has been migrated.
     $file = entity_load('file', 6);
-    $this->assertIdentical('temporary://some-temp-file.jpg', $file->getFileUri());
+    $this->assertIdentical('temporary://' . static::getUniqueFilename(), $file->getFileUri());
+  }
+
+  /**
+   * @return string
+   *   A filename based upon the test.
+   */
+  public static function getUniqueFilename() {
+    return static::$tempFilename;
+  }
+
+  /**
+   * Creates a random filename and updates the source database.
+   *
+   * @return string
+   *   A filename based upon the test.
+   *
+   * @see \Drupal\migrate_drupal\Tests\Dump\Files
+   */
+  public static function migrateDumpAlter($test_id) {
+    // If it is already set recreate the file and update again.
+    if (isset(static::$tempFilename)) {
+      unlink('/tmp/' . static::getUniqueFilename());
+    }
+    $random = new Random();
+    static::$tempFilename = $test_id . $random->name() . '.jpg';
+    file_put_contents('/tmp/' . static::$tempFilename, '');
+    Database::getConnection('default', 'migrate')->update('files')
+      ->condition('fid', 6)
+      ->fields(array(
+        'filename' => static::$tempFilename,
+        'filepath' => '/tmp/' . static::$tempFilename,
+      ))
+      ->execute();
+    return static::$tempFilename;
   }
 
 }
