diff --git a/core/modules/book/tests/src/Kernel/Migrate/d7/MigrateBookTest.php b/core/modules/book/tests/src/Kernel/Migrate/d7/MigrateBookTest.php
index 1d0e253..96d3ba6 100644
--- a/core/modules/book/tests/src/Kernel/Migrate/d7/MigrateBookTest.php
+++ b/core/modules/book/tests/src/Kernel/Migrate/d7/MigrateBookTest.php
@@ -19,7 +19,6 @@ class MigrateBookTest extends MigrateDrupal7TestBase {
     'book',
     'menu_ui',
     'node',
-    'taxonomy',
     'text',
   ];
 
@@ -28,15 +27,11 @@ class MigrateBookTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installEntitySchema('node');
-    $this->installEntitySchema('taxonomy_term');
-    $this->installConfig(['node']);
     $this->installSchema('book', ['book']);
     $this->installSchema('node', ['node_access']);
+    $this->migrateUsers(FALSE);
+    $this->migrateContentTypes();
     $this->executeMigrations([
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_node',
       'd7_book',
     ]);
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityDisplayTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityDisplayTest.php
index aeb1e92..d43b14c 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityDisplayTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityDisplayTest.php
@@ -23,10 +23,9 @@ class MigrateCommentEntityDisplayTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['comment', 'node']);
+    $this->migrateContentTypes();
+    $this->migrateCommentTypes();
     $this->executeMigrations([
-      'd7_node_type',
-      'd7_comment_type',
       'd7_comment_field',
       'd7_comment_field_instance',
       'd7_comment_entity_display',
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplaySubjectTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplaySubjectTest.php
index 2c3025a..9c7dbdd 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplaySubjectTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplaySubjectTest.php
@@ -23,11 +23,8 @@ class MigrateCommentEntityFormDisplaySubjectTest extends MigrateDrupal7TestBase
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['comment']);
-    $this->executeMigrations([
-      'd7_comment_type',
-      'd7_comment_entity_form_display_subject',
-    ]);
+    $this->migrateCommentTypes();
+    $this->executeMigration('d7_comment_entity_form_display_subject');
   }
 
   /**
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplayTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplayTest.php
index 2f0f6f3..75647b1 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplayTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentEntityFormDisplayTest.php
@@ -23,10 +23,9 @@ class MigrateCommentEntityFormDisplayTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['comment', 'node']);
+    $this->migrateContentTypes();
+    $this->migrateCommentTypes();
     $this->executeMigrations([
-      'd7_node_type',
-      'd7_comment_type',
       'd7_comment_field',
       'd7_comment_field_instance',
       'd7_comment_entity_form_display',
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php
index 4b928f7..a5b1bd6 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php
@@ -23,10 +23,9 @@ class MigrateCommentFieldInstanceTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['comment', 'node']);
+    $this->migrateContentTypes();
+    $this->migrateCommentTypes();
     $this->executeMigrations([
-      'd7_node_type',
-      'd7_comment_type',
       'd7_comment_field',
       'd7_comment_field_instance',
     ]);
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldTest.php
index aa59f67..2eaf4d4 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldTest.php
@@ -23,11 +23,8 @@ class MigrateCommentFieldTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['comment']);
-    $this->executeMigrations([
-      'd7_comment_type',
-      'd7_comment_field',
-    ]);
+    $this->migrateCommentTypes();
+    $this->executeMigration('d7_comment_field');
   }
 
   /**
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTest.php
index 95717ed..7ce9bb7 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTest.php
@@ -24,18 +24,11 @@ class MigrateCommentTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-
-    $this->installEntitySchema('node');
     $this->installEntitySchema('comment');
-    $this->installConfig(['comment', 'node']);
     $this->installSchema('comment', ['comment_entity_statistics']);
 
+    $this->migrateContent();
     $this->executeMigrations([
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
-      'd7_node',
-      'd7_comment_type',
       'd7_comment_field',
       'd7_comment_field_instance',
       'd7_comment_entity_display',
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTypeTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTypeTest.php
index b0c96da..0eeacd7 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTypeTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTypeTest.php
@@ -23,8 +23,7 @@ class MigrateCommentTypeTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['comment']);
-    $this->executeMigration('d7_comment_type');
+    $this->migrateCommentTypes();
   }
 
   /**
diff --git a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldFormatterSettingsTest.php b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldFormatterSettingsTest.php
index 6773ca8..f269f07 100644
--- a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldFormatterSettingsTest.php
+++ b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldFormatterSettingsTest.php
@@ -2,13 +2,9 @@
 
 namespace Drupal\Tests\field\Kernel\Migrate\d7;
 
-use Drupal\comment\Entity\CommentType;
-use Drupal\Core\Database\Database;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
-use Drupal\taxonomy\Entity\Vocabulary;
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
-use Drupal\node\Entity\NodeType;
 
 /**
  * Tests migration of D7 field formatter settings.
@@ -23,6 +19,7 @@ class MigrateFieldFormatterSettingsTest extends MigrateDrupal7TestBase {
     'file',
     'image',
     'link',
+    'menu_ui',
     'node',
     'taxonomy',
     'telephone',
@@ -39,116 +36,8 @@ protected function setUp() {
     $this->installEntitySchema('comment');
     $this->installEntitySchema('taxonomy_term');
 
-    CommentType::create([
-      'id' => 'comment_node_page',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    CommentType::create([
-      'id' => 'comment_node_article',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    CommentType::create([
-      'id' => 'comment_node_blog',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    CommentType::create([
-      'id' => 'comment_node_book',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    CommentType::create([
-      'id' => 'comment_forum',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    CommentType::create([
-      'id' => 'comment_node_test_content_type',
-      'label' => $this->randomMachineName(),
-    ])->save();
-
-    NodeType::create([
-      'type' => 'page',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    NodeType::create([
-      'type' => 'article',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    NodeType::create([
-      'type' => 'blog',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    NodeType::create([
-      'type' => 'book',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    NodeType::create([
-      'type' => 'forum',
-      'label' => $this->randomMachineName(),
-    ])->save();
-    NodeType::create([
-      'type' => 'test_content_type',
-      'label' => $this->randomMachineName(),
-    ])->save();
-
-    Vocabulary::create(['vid' => 'test_vocabulary'])->save();
-
-    // Give one unfortunate field instance invalid display settings to ensure
-    // that the migration provides an empty array as a default (thus avoiding
-    // an "unsupported operand types" fatal).
-    Database::getConnection('default', 'migrate')
-      ->update('field_config_instance')
-      ->fields([
-        'data' => serialize([
-          'label' => 'Body',
-          'widget' =>
-             [
-              'type' => 'text_textarea_with_summary',
-              'settings' =>
-                 [
-                  'rows' => 20,
-                  'summary_rows' => 5,
-                ],
-              'weight' => -4,
-              'module' => 'text',
-            ],
-          'settings' =>
-             [
-              'display_summary' => TRUE,
-              'text_processing' => 1,
-              'user_register_form' => FALSE,
-            ],
-          'display' =>
-             [
-              'default' =>
-                 [
-                  'label' => 'hidden',
-                  'type' => 'text_default',
-                  'settings' => [],
-                  'module' => 'text',
-                  'weight' => 0,
-                ],
-              'teaser' =>
-                 [
-                  'label' => 'hidden',
-                  'type' => 'text_summary_or_trimmed',
-                  // settings is always expected to be an array. Making it NULL
-                  // causes a fatal.
-                  'settings' => NULL,
-                  'module' => 'text',
-                  'weight' => 0,
-                ],
-            ],
-          'required' => FALSE,
-          'description' => '',
-        ]),
-      ])
-      ->condition('entity_type', 'node')
-      ->condition('bundle', 'article')
-      ->condition('field_name', 'body')
-      ->execute();
-
+    $this->migrateFields();
     $this->executeMigrations([
-      'd7_field',
-      'd7_field_instance',
       'd7_view_modes',
       'd7_field_formatter_settings',
     ]);
diff --git a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceTest.php b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceTest.php
index 77953f7..6c559f8 100644
--- a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceTest.php
+++ b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceTest.php
@@ -4,7 +4,6 @@
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\FieldConfigInterface;
-use Drupal\taxonomy\Entity\Vocabulary;
 use Drupal\Tests\migrate\Kernel\NodeCommentCombinationTrait;
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
 
@@ -26,6 +25,7 @@ class MigrateFieldInstanceTest extends MigrateDrupal7TestBase {
     'file',
     'image',
     'link',
+    'menu_ui',
     'node',
     'system',
     'taxonomy',
@@ -38,15 +38,7 @@ class MigrateFieldInstanceTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(static::$modules);
-    $this->createNodeCommentCombination('page');
-    $this->createNodeCommentCombination('article');
-    $this->createNodeCommentCombination('blog');
-    $this->createNodeCommentCombination('book');
-    $this->createNodeCommentCombination('forum', 'comment_forum');
-    $this->createNodeCommentCombination('test_content_type');
-    Vocabulary::create(['vid' => 'test_vocabulary'])->save();
-    $this->executeMigrations(['d7_field', 'd7_field_instance']);
+    $this->migrateFields();
   }
 
   /**
diff --git a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceWidgetSettingsTest.php b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceWidgetSettingsTest.php
index 86e4f72..194c94f 100644
--- a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceWidgetSettingsTest.php
+++ b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceWidgetSettingsTest.php
@@ -43,14 +43,8 @@ protected function setUp() {
     $this->installEntitySchema('taxonomy_term');
     $this->installConfig(static::$modules);
 
-    $this->executeMigrations([
-      'd7_node_type',
-      'd7_comment_type',
-      'd7_taxonomy_vocabulary',
-      'd7_field',
-      'd7_field_instance',
-      'd7_field_instance_widget_settings',
-    ]);
+    $this->migrateFields();
+    $this->executeMigration('d7_field_instance_widget_settings');
   }
 
   /**
diff --git a/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php b/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php
index fdba370..a2bd361 100644
--- a/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php
+++ b/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php
@@ -24,8 +24,8 @@ class MigrateLanguageContentSettingsTest extends MigrateDrupal7TestBase {
   protected function setUp() {
     parent::setUp();
 
-    $this->installConfig(['node']);
-    $this->executeMigrations(['d7_node_type', 'd7_language_content_settings']);
+    $this->migrateContentTypes();
+    $this->executeMigration('d7_language_content_settings');
   }
 
   /**
diff --git a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php
index ab21f2c..08fae8f 100644
--- a/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php
+++ b/core/modules/menu_link_content/tests/src/Kernel/Migrate/d7/MigrateMenuLinkTest.php
@@ -34,14 +34,13 @@ class MigrateMenuLinkTest extends MigrateDrupal7TestBase {
   protected function setUp() {
     parent::setUp();
     $this->installEntitySchema('menu_link_content');
-    $this->installEntitySchema('node');
     $this->installSchema('node', ['node_access']);
     $this->installConfig(static::$modules);
+
+    $this->migrateUsers(FALSE);
+    $this->migrateContentTypes();
     $this->executeMigrations([
       'language',
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_language_content_settings',
       'd7_node',
       'd7_node_translation',
diff --git a/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php b/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php
index 9684193..9f7cd69 100644
--- a/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php
+++ b/core/modules/migrate_drupal/tests/src/Kernel/d7/FollowUpMigrationsTest.php
@@ -40,22 +40,17 @@ protected function setUp() {
 
     $this->fileMigrationSetup();
 
-    $this->installEntitySchema('node');
     $this->installEntitySchema('comment');
     $this->installEntitySchema('taxonomy_term');
     $this->installConfig(static::$modules);
     $this->installSchema('node', ['node_access']);
 
+    $this->migrateUsers();
+    $this->migrateFields();
     $this->executeMigrations([
       'language',
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_language_content_settings',
-      'd7_comment_type',
       'd7_taxonomy_vocabulary',
-      'd7_field',
-      'd7_field_instance',
       'd7_node',
       'd7_node_translation',
     ]);
diff --git a/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7TestBase.php b/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7TestBase.php
index 3afa82d..56e3010 100644
--- a/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7TestBase.php
+++ b/core/modules/migrate_drupal/tests/src/Kernel/d7/MigrateDrupal7TestBase.php
@@ -24,4 +24,85 @@ protected function getFixtureFilePath() {
     return __DIR__ . '/../../../fixtures/drupal7.php';
   }
 
+  /**
+   * Executes all field migrations.
+   */
+  protected function migrateFields() {
+    $this->executeMigration('d7_field');
+    $this->migrateContentTypes();
+    $this->migrateCommentTypes();
+    $this->executeMigrations(['d7_taxonomy_vocabulary', 'd7_field_instance']);
+  }
+
+  /**
+   * Executes all user migrations.
+   *
+   * @param bool $include_pictures
+   *   If TRUE, migrates user pictures.
+   */
+  protected function migrateUsers($include_pictures = TRUE) {
+    // Prepare to migrate user pictures as well.
+    $this->installEntitySchema('file');
+    $migrations = ['d7_user_role', 'd7_user'];
+
+    if ($include_pictures) {
+      $migrations = array_merge([
+        'user_picture_field',
+        'user_picture_field_instance',
+      ], $migrations);
+    }
+
+    $this->executeMigrations($migrations);
+  }
+
+  /**
+   * Migrates node types.
+   */
+  protected function migrateContentTypes() {
+    $this->installConfig(['node']);
+    $this->installEntitySchema('node');
+    $this->executeMigration('d7_node_type');
+  }
+
+  /**
+   * Migrates comment types.
+   */
+  protected function migrateCommentTypes() {
+    $this->installConfig(['comment']);
+    $this->executeMigration('d7_comment_type');
+  }
+
+  /**
+   * Executes all content migrations.
+   *
+   * @param bool $include_revisions
+   *   If TRUE, migrates node revisions.
+   */
+  protected function migrateContent($include_revisions = FALSE) {
+    $this->migrateContentTypes();
+    $this->migrateCommentTypes();
+
+    $this->migrateUsers(FALSE);
+    // Uses executeMigrations() rather than executeMigration() because the
+    // former includes all of the migration derivatives, e.g.
+    // d7_node:article.
+    $this->executeMigrations(['d7_node']);
+
+    if ($include_revisions) {
+      $this->executeMigrations(['d7_node_revision']);
+    }
+  }
+
+  /**
+   * Executes all taxonomy term migrations.
+   */
+  protected function migrateTaxonomyTerms() {
+    $this->installEntitySchema('taxonomy_term');
+    $this->migrateFields();
+    // Uses executeMigrations() rather than executeMigration() because the
+    // former includes all of the migration derivatives, e.g.
+    // d7_taxonomy_term:tags.
+    $this->executeMigrations(['d7_taxonomy_term']);
+  }
+
 }
diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php
index bb62e90..e91354d 100644
--- a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php
+++ b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php
@@ -45,27 +45,20 @@ protected function setUp() {
 
     $this->fileMigrationSetup();
 
-    $this->installEntitySchema('node');
     $this->installEntitySchema('comment');
     $this->installEntitySchema('taxonomy_term');
     $this->installConfig(static::$modules);
     $this->installSchema('comment', ['comment_entity_statistics']);
     $this->installSchema('forum', ['forum', 'forum_index']);
     $this->installSchema('node', ['node_access']);
-    $this->installSchema('system', ['sequences']);
 
+    $this->migrateUsers();
+    $this->migrateFields();
     $this->executeMigrations([
       'language',
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_language_content_settings',
-      'd7_comment_type',
       'd7_comment_field',
       'd7_comment_field_instance',
-      'd7_taxonomy_vocabulary',
-      'd7_field',
-      'd7_field_instance',
       'd7_node',
       'd7_node_translation',
     ]);
diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTitleLabelTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTitleLabelTest.php
index 0655631..fcf231b 100644
--- a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTitleLabelTest.php
+++ b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTitleLabelTest.php
@@ -19,9 +19,8 @@ class MigrateNodeTitleLabelTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(static::$modules);
-    $this->installEntitySchema('node');
-    $this->executeMigrations(['d7_node_type', 'd7_node_title_label']);
+    $this->migrateContentTypes();
+    $this->executeMigration('d7_node_title_label');
   }
 
   /**
diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTypeTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTypeTest.php
index b16cd25..282106b 100644
--- a/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTypeTest.php
+++ b/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTypeTest.php
@@ -20,15 +20,14 @@ class MigrateNodeTypeTest extends MigrateDrupal7TestBase {
    *
    * @var array
    */
-  public static $modules = ['node', 'text', 'filter', 'menu_ui'];
+  public static $modules = ['node', 'text', 'menu_ui'];
 
   /**
    * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
-    $this->installConfig(['node']);
-    $this->executeMigration('d7_node_type');
+    $this->migrateContentTypes();
   }
 
   /**
diff --git a/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php b/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php
index 88cc2ad..2f940b1 100644
--- a/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php
+++ b/core/modules/node/tests/src/Kernel/Migrate/d7/NodeTranslationRedirectTest.php
@@ -30,18 +30,15 @@ class NodeTranslationRedirectTest extends MigrateDrupal7TestBase {
   protected function setUp() {
     parent::setUp();
 
-    $this->installEntitySchema('node');
-    $this->installConfig('node');
     $this->installSchema('node', ['node_access']);
     $this->installSchema('system', ['key_value']);
 
+    $this->migrateUsers(FALSE);
+    $this->migrateContentTypes();
     $this->executeMigrations([
       'language',
       'd7_language_types',
       'd7_language_negotiation_settings',
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_node',
       'd7_node_translation',
     ]);
diff --git a/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php b/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php
index dae0249..886ee39 100644
--- a/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php
+++ b/core/modules/path/tests/src/Kernel/Migrate/d7/MigrateUrlAliasTest.php
@@ -29,15 +29,12 @@ class MigrateUrlAliasTest extends MigrateDrupal7TestBase {
   protected function setUp() {
     parent::setUp();
 
-    $this->installEntitySchema('node');
-    $this->installConfig('node');
     $this->installSchema('node', ['node_access']);
 
+    $this->migrateUsers(FALSE);
+    $this->migrateContentTypes();
     $this->executeMigrations([
       'language',
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_node',
       'd7_node_translation',
       'd7_url_alias',
diff --git a/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php b/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php
index 9a7317f..5d5f242 100644
--- a/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php
+++ b/core/modules/statistics/tests/src/Kernel/Migrate/d7/MigrateNodeCounterTest.php
@@ -29,16 +29,13 @@ class MigrateNodeCounterTest extends MigrateDrupal7TestBase {
   protected function setUp() {
     parent::setUp();
 
-    $this->installEntitySchema('node');
-    $this->installConfig('node');
     $this->installSchema('node', ['node_access']);
     $this->installSchema('statistics', ['node_counter']);
 
+    $this->migrateUsers(FALSE);
+    $this->migrateContentTypes();
     $this->executeMigrations([
       'language',
-      'd7_user_role',
-      'd7_user',
-      'd7_node_type',
       'd7_language_content_settings',
       'd7_node',
       'd7_node_translation',
diff --git a/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateNodeTaxonomyTest.php b/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateNodeTaxonomyTest.php
index e8c6fef..d3ebb3d 100644
--- a/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateNodeTaxonomyTest.php
+++ b/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateNodeTaxonomyTest.php
@@ -2,9 +2,6 @@
 
 namespace Drupal\Tests\taxonomy\Kernel\Migrate\d7;
 
-use Drupal\field\Entity\FieldConfig;
-use Drupal\field\Entity\FieldStorageConfig;
-use Drupal\field\FieldStorageConfigInterface;
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
 use Drupal\node\Entity\Node;
 use Drupal\node\NodeInterface;
@@ -15,6 +12,7 @@
 class MigrateNodeTaxonomyTest extends MigrateDrupal7TestBase {
 
   public static $modules = [
+    'comment',
     'datetime',
     'field',
     'filter',
@@ -33,37 +31,12 @@ class MigrateNodeTaxonomyTest extends MigrateDrupal7TestBase {
   protected function setUp() {
     parent::setUp();
 
-    $this->installEntitySchema('node');
-    $this->installEntitySchema('taxonomy_term');
-    $this->installConfig(static::$modules);
     $this->installSchema('node', ['node_access']);
     $this->installSchema('system', ['sequences']);
 
-    $this->executeMigration('d7_node_type');
-
-    FieldStorageConfig::create([
-      'type' => 'entity_reference',
-      'field_name' => 'field_tags',
-      'entity_type' => 'node',
-      'settings' => [
-        'target_type' => 'taxonomy_term',
-      ],
-      'cardinality' => FieldStorageConfigInterface::CARDINALITY_UNLIMITED,
-    ])->save();
-
-    FieldConfig::create([
-      'entity_type' => 'node',
-      'field_name' => 'field_tags',
-      'bundle' => 'article',
-    ])->save();
-
-    $this->executeMigrations([
-      'd7_taxonomy_vocabulary',
-      'd7_taxonomy_term',
-      'd7_user_role',
-      'd7_user',
-      'd7_node:article',
-    ]);
+    $this->migrateTaxonomyTerms();
+    $this->migrateUsers(FALSE);
+    $this->executeMigration('d7_node:article');
   }
 
   /**
diff --git a/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php b/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php
index 4a8b153..98f30ba 100644
--- a/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php
+++ b/core/modules/taxonomy/tests/src/Kernel/Migrate/d7/MigrateTaxonomyTermTest.php
@@ -38,17 +38,8 @@ class MigrateTaxonomyTermTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-    $this->installEntitySchema('taxonomy_term');
     $this->installConfig(static::$modules);
-
-    $this->executeMigrations([
-      'd7_node_type',
-      'd7_comment_type',
-      'd7_field',
-      'd7_taxonomy_vocabulary',
-      'd7_field_instance',
-      'd7_taxonomy_term',
-    ]);
+    $this->migrateTaxonomyTerms();
   }
 
   /**
diff --git a/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php b/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php
index d370502..54ac550 100644
--- a/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php
+++ b/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerNodeTest.php
@@ -33,10 +33,10 @@ protected function setUp() {
     $this->installSchema('node', ['node_access']);
     $this->installSchema('tracker', ['tracker_node', 'tracker_user']);
 
+    $this->migrateContentTypes();
     $this->executeMigrations([
       'd7_user_role',
       'd7_user',
-      'd7_node_type',
       'd7_node',
       'd7_tracker_node',
     ]);
diff --git a/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php b/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php
index 3b0c11b..f809998 100644
--- a/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php
+++ b/core/modules/tracker/tests/src/Kernel/Migrate/d7/MigrateTrackerUserTest.php
@@ -33,10 +33,10 @@ protected function setUp() {
     $this->installSchema('node', ['node_access']);
     $this->installSchema('tracker', ['tracker_node', 'tracker_user']);
 
+    $this->migrateContentTypes();
     $this->executeMigrations([
       'd7_user_role',
       'd7_user',
-      'd7_node_type',
       'd7_node',
       'd7_tracker_node',
     ]);
diff --git a/core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserTest.php b/core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserTest.php
index bbfc41d..554c689 100644
--- a/core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserTest.php
+++ b/core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserTest.php
@@ -3,7 +3,6 @@
 namespace Drupal\Tests\user\Kernel\Migrate\d7;
 
 use Drupal\Core\Database\Database;
-use Drupal\taxonomy\Entity\Vocabulary;
 use Drupal\Tests\migrate\Kernel\NodeCommentCombinationTrait;
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
 use Drupal\user\Entity\User;
@@ -29,6 +28,7 @@ class MigrateUserTest extends MigrateDrupal7TestBase {
     'image',
     'language',
     'link',
+    'menu_ui',
     'node',
     'system',
     'taxonomy',
@@ -41,25 +41,8 @@ class MigrateUserTest extends MigrateDrupal7TestBase {
    */
   protected function setUp() {
     parent::setUp();
-
-    // Prepare to migrate user pictures as well.
-    $this->installEntitySchema('file');
-    $this->createNodeCommentCombination('page');
-    $this->createNodeCommentCombination('article');
-    $this->createNodeCommentCombination('blog');
-    $this->createNodeCommentCombination('book');
-    $this->createNodeCommentCombination('forum', 'comment_forum');
-    $this->createNodeCommentCombination('test_content_type');
-    Vocabulary::create(['vid' => 'test_vocabulary'])->save();
-    $this->executeMigrations([
-      'language',
-      'user_picture_field',
-      'user_picture_field_instance',
-      'd7_user_role',
-      'd7_field',
-      'd7_field_instance',
-      'd7_user',
-    ]);
+    $this->migrateFields();
+    $this->migrateUsers();
   }
 
   /**
