diff --git a/core/modules/node/lib/Drupal/node/Tests/Views/AnalyzeNodeTest.php b/core/modules/node/lib/Drupal/node/Tests/Views/AnalyzeNodeTest.php
new file mode 100644
index 0000000..39488ab
--- /dev/null
+++ b/core/modules/node/lib/Drupal/node/Tests/Views/AnalyzeNodeTest.php
@@ -0,0 +1,69 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\node\Tests\Views\AnalyzeNodeTest.
+ */
+
+namespace Drupal\node\Tests\Views;
+
+/**
+ * Tests the node analyzer.
+ *
+ * @see node_views_analyze()
+ */
+class AnalyzeNodeTest extends NodeTestBase {
+
+  /**
+   * Views used by this test.
+   *
+   * @var array
+   */
+  public static $testViews = array('test_node_analyze');
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('views_ui');
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Node: Analyzer',
+      'description' => 'Tests the node analyzer.',
+      'group' => 'Views module integration',
+    );
+  }
+
+  /**
+   * Tests the warnings given by node module in Views Analyze.
+   */
+  public function testNodeAnalyze() {
+    // Deny anonymous users the ability to access content, to cause analyzer warnings.
+    user_role_revoke_permissions(DRUPAL_ANONYMOUS_RID, array('access content'));
+
+    // Check the analyzer results for an incorrectly built view.
+    $this->drupalLogin($this->drupalCreateUser(array('administer views')));
+    $this->drupalGet('admin/structure/views/nojs/analyze/test_node_analyze/page_1');
+    $this->assertRaw(t('Some roles lack permission to access content, but display %display has no access control.', array('%display' => 'Master')));
+    $this->assertRaw(t('Display %display has no access control but does not contain a filter for published nodes.', array('%display' => 'Master')));
+    $this->assertRaw(t('Display %display has set node/% as path. This will not produce what you want. If you want to have multiple versions of the node view, use panels.', array('%display' => 'Page')));
+
+    // Fix the errors and check the results again.
+    $view = views_get_view('test_node_analyze');
+    $view->initDisplay();
+    $view->displayHandlers->get('page_1')->setOption('path', 'test_node_analyze');
+    $view->displayHandlers->get('default')->setOption('access', array(
+      'type' => 'perm',
+      'options' => array(
+        'perm' => 'access content',
+      ),
+    ));
+    $view->addItem('default', 'filter', 'node', 'status', array('value' => TRUE));
+    $view->storage->save();
+    $this->drupalGet('admin/structure/views/nojs/analyze/test_node_analyze/page_1');
+    $this->assertText(t('View analysis can find nothing to report.'));
+  }
+
+}
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_analyze.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_analyze.yml
new file mode 100644
index 0000000..6fe8ceb
--- /dev/null
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_analyze.yml
@@ -0,0 +1,59 @@
+base_field: nid
+base_table: node
+core: 8.x
+description: ''
+status: '1'
+display:
+  default:
+    display_plugin: default
+    id: default
+    display_title: Master
+    position: ''
+    display_options:
+      access:
+        type: none
+      cache:
+        type: none
+      query:
+        type: views_query
+      exposed_form:
+        type: basic
+      pager:
+        type: full
+      style:
+        type: default
+      row:
+        type: fields
+      fields:
+        title:
+          id: title
+          table: node
+          field: title
+          label: ''
+          alter:
+            alter_text: '0'
+            make_link: '0'
+            absolute: '0'
+            trim: '0'
+            word_boundary: '0'
+            ellipsis: '0'
+            strip_tags: '0'
+            html: '0'
+          hide_empty: '0'
+          empty_zero: '0'
+          link_to_node: '1'
+          plugin_id: node
+      filters: {  }
+      sorts: {  }
+  page_1:
+    display_plugin: page
+    id: page_1
+    display_title: Page
+    position: ''
+    display_options:
+      path: node/%
+human_name: test_node_analyze
+module: views
+id: test_node_analyze
+tag: ''
+langcode: en
