diff --git a/phpunit_example/lib/Drupal/phpunit_example/Tests/PHPUnitExampleMenuTest.php b/phpunit_example/lib/Drupal/phpunit_example/Tests/PHPUnitExampleMenuTest.php
new file mode 100644
index 0000000..d8dabb8
--- /dev/null
+++ b/phpunit_example/lib/Drupal/phpunit_example/Tests/PHPUnitExampleMenuTest.php
@@ -0,0 +1,83 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\phpunit_example\Tests\PHPUnitExampleMenuTest.
+ */
+
+namespace Drupal\phpunit_example\Tests;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Test the user-facing menus in PHPUnit Example.
+ *
+ * Note that this is _not_ a PHPUnit-based test. It's a functional
+ * test of whether this module can be enabled properly.
+ *
+ * @ingroup phpunit_example
+ */
+class PHPUnitExampleMenuTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('phpunit_example');
+
+  /**
+   * The installation profile to use with this test.
+   *
+   * We need the 'minimal' profile in order to make sure the Tool block is
+   * available.
+   *
+   * @var string
+   */
+  protected $profile = 'minimal';
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name' => 'PHPUnit Example Menu Test',
+      'description' => 'Test the user-facing menus in PHPUnit Example.',
+      'group' => 'Examples',
+    );
+  }
+
+  /**
+   * Data provider for testing menu links.
+   *
+   * @return array
+   *   Array of page -> link relationships to check for.
+   *   The key is the path to the page where our link should appear.
+   *   The value is the link that should appear on that page.
+   */
+  protected function providerMenuLinks() {
+    return array(
+      '/' => 'examples/phpunit_example',
+    );
+  }
+
+  /**
+   * Verify and validate that default menu links were loaded for this module.
+   */
+  public function testPHPUnitExampleLink() {
+    $links = $this->providerMenuLinks();
+    foreach ($links as $page => $path) {
+      $this->drupalGet($page);
+      $this->assertLinkByHref($path);
+    }
+  }
+
+  /**
+   * Tests phpunit_example menus.
+   */
+  public function testPHPUnitExampleMenu() {
+    $this->drupalGet('examples/phpunit_example');
+    $this->assertResponse(200, 'Description page exists.');
+  }
+
+}
diff --git a/phpunit_example/lib/Drupal/phpunit_example/Tests/PHPUnitExampleSimpleTest.php b/phpunit_example/lib/Drupal/phpunit_example/Tests/PHPUnitExampleSimpleTest.php
deleted file mode 100644
index 6c5fc29..0000000
--- a/phpunit_example/lib/Drupal/phpunit_example/Tests/PHPUnitExampleSimpleTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/**
- * @file
- * SimpleTests for phpunit_example module.
- */
-
-namespace Drupal\phpunit_example\Tests;
-
-use Drupal\simpletest\WebTestBase;
-
-/**
- * Default test case for the phpunit_example module.
- *
- * Note that this is _not_ a PHPUnit-based test. It's a functional
- * test of whether this module can be enabled properly.
- *
- * @ingroup phpunit_example
- */
-class PHPUnitExampleSimpleTest extends WebTestBase {
-
-  public static $modules = array('phpunit_example');
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'PHPUnit Example Tests',
-      'description' => 'Functional tests for the PHPUnit Example module',
-      'group' => 'Examples',
-    );
-  }
-
-  /**
-   * Very simple regression test for PHPUnit Example module.
-   *
-   * All we do is enable PHPUnit Example and see if it can successfully
-   * return its main page.
-   */
-  public function testController() {
-    $this->drupalGet('examples/phpunit_example');
-    $this->assertResponse(200, 'The PHPUnit Example description page is available.');
-  }
-
-}
diff --git a/phpunit_example/phpunit_example.menu_links.yml b/phpunit_example/phpunit_example.menu_links.yml
new file mode 100644
index 0000000..ec4b30e
--- /dev/null
+++ b/phpunit_example/phpunit_example.menu_links.yml
@@ -0,0 +1,3 @@
+phpunit_example.description:
+  title: PHPUnit Example
+  route_name: phpunit_example_description
diff --git a/phpunit_example/phpunit_example.module b/phpunit_example/phpunit_example.module
index 0c01000..42dbef1 100644
--- a/phpunit_example/phpunit_example.module
+++ b/phpunit_example/phpunit_example.module
@@ -25,23 +25,5 @@ function phpunit_example_help($path, $arg) {
 }
 
 /**
- * Implements hook_menu().
- *
- * We will define a single menu route, so that we can give the user some
- * helpful introductory information.
- *
- * @see hook_menu()
- * @see menu_example
- */
-function phpunit_example_menu() {
-  $items['examples/phpunit_example'] = array(
-    'title' => 'PHPUnit Example',
-    'route_name' => 'phpunit_example_description',
-    'expanded' => TRUE,
-  );
-  return $items;
-}
-
-/**
  * @} End of "defgroup phpunit_example".
  */
