diff --git a/core/modules/system/src/Tests/Module/InstallUninstallTest.php b/core/modules/system/src/Tests/Module/InstallUninstallTest.php
index 125b754..ed617bc 100644
--- a/core/modules/system/src/Tests/Module/InstallUninstallTest.php
+++ b/core/modules/system/src/Tests/Module/InstallUninstallTest.php
@@ -37,14 +37,42 @@ public function testInstallUninstall() {
     // Try to install and uninstall book, toolbar modules and its dependencies.
     $all_modules = system_rebuild_module_data();
 
+    // Test help on required modules, but do not test uninstalling.
+    $required_modules = array_filter($all_modules, function ($module) {
+      if (!empty($module->info['required']) || $module->status == TRUE) {
+        return FALSE;
+      }
+      return FALSE;
+    });
+    $required_modules['help'] = $all_modules['help'];
+
+    // Test uninstalling without hidden, required, and already enabled modules.
     $all_modules = array_filter($all_modules, function ($module) {
-      // Filter hidden, required and already enabled modules.
       if (!empty($module->info['hidden']) || !empty($module->info['required']) || $module->status == TRUE || $module->info['package'] == 'Testing') {
         return FALSE;
       }
       return TRUE;
     });
 
+    // Install the Help module, and verify it installed successfully.
+    unset($all_modules['help']);
+    $this->assertModules(array('help'), FALSE);
+    $this->assertModuleTablesDoNotExist('help');
+    $edit = array();
+    $package = $required_modules['help']->info['package'];
+    $edit["modules[$package][help][enable]"] = TRUE;
+    $this->drupalPostForm('admin/modules', $edit, t('Save configuration'));
+    $this->assertText(t('The configuration options have been saved.'), 'Modules status has been updated.');
+    $this->assertText(t('hook_modules_installed fired for help'));
+    $this->assertModules(array('help'), TRUE);
+    $this->assertModuleTablesExist('help');
+    $this->assertModuleConfig('help');
+
+    // Test help for the required modules.
+    foreach ($required_modules as $name => $module) {
+      $this->assertHelp($name, $module->info['name']);
+    }
+
     // Go through each module in the list and try to install it (unless it was
     // already installed automatically due to a dependency).
     $automatically_installed = array();
@@ -98,6 +126,9 @@ public function testInstallUninstall() {
         $this->assertLogMessage('system', "%module module installed.", array('%module' => $module_to_install), RfcLogLevel::INFO);
       }
 
+      // Verify the help page.
+      $this->assertHelp($name, $module->info['name']);
+
       // Uninstall the original module, and check appropriate
       // hooks, tables, and log messages. (Later, we'll go back and do the
       // same thing for modules that were enabled automatically.)
@@ -128,6 +159,10 @@ public function testInstallUninstall() {
       }
     }
 
+    // Uninstall the help module and put it back into the list of modules.
+    $all_modules['help'] = $required_modules['help'];
+    $this->assertSuccessfullUninstall('help', $required_modules['help']->info['package']);
+
     // Now that all modules have been tested, go back and try to enable them
     // all again at once. This tests two things:
     // - That each module can be successfully enabled again after being
@@ -181,4 +216,22 @@ protected function assertSuccessfullUninstall($module, $package = 'Core') {
     $this->assertNoModuleConfig($module);
   }
 
+  /**
+   * Verifies a module's help.
+   *
+   * Verifies that the module help page from hook_help() exists and can be
+   * displayed, and that it contains the phrase "Foo Bar module", where "Foo
+   * Bar" is the name of the module from the .info.yml file.
+   *
+   * @param string $module
+   *   Machine name of the module to verify.
+   * @param array $info
+   *   Human-readable name of the module.
+   */
+  protected function assertHelp($module, $name) {
+    $this->drupalGet('admin/help/' . $module);
+    $this->assertResponse(200, "Help for $module displayed successfully");
+    $this->assertText($name . ' module', 'Human-readable module name is on the help page followed by the word "module"');
+  }
+
 }
