diff --git a/lib/Drupal/views/Tests/Entity/FieldEntityTest.php b/lib/Drupal/views/Tests/Entity/FieldEntityTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..a950621d46940c0e449d907ce42c250930aebfcf
--- /dev/null
+++ b/lib/Drupal/views/Tests/Entity/FieldEntityTest.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\views\Tests\Entity\FieldEntityTest.
+ */
+
+namespace Drupal\views\Tests\Entity;
+
+use Drupal\views\Tests\ViewTestBase;
+
+/**
+ * Tests the field plugin base integration with the entity system.
+ */
+class FieldEntityTest extends ViewTestBase {
+
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('comment');
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Field: Entity Api Integration',
+      'description' => 'Tests the field plugin base integration with the entity system.',
+      'group' => 'Views Modules',
+    );
+  }
+
+  /**
+   * Tests the get_entity method.
+   */
+  public function testGetEntity() {
+    // The view is a view of comments, their nodes and their authors, so there
+    // are three layers of entities.
+
+    $account = entity_create('user', array('name' => $this->randomName(), 'bundle' => 'user'));
+    $account->save();
+    $node = entity_create('node', array('uid' => $account->id(), 'type' => 'page'));
+    $node->save();
+    $comment = entity_create('comment', array('uid' => $account->id(), 'nid' => $node->id(), 'node_type' => 'comment_node_page'));
+    $comment->save();
+
+    $view = views_get_view('test_field_get_entity');
+    $this->executeView($view);
+    $row = $view->result[0];
+
+    // Tests entities on the base level.
+    $entity = $view->field['cid']->get_entity($row);
+    $this->assertEqual($entity->id(), $comment->id(), 'Make sure the right comment entity got loaded.');
+    // Tests entities as relationship on first level.
+    $entity = $view->field['nid']->get_entity($row);
+    $this->assertEqual($entity->id(), $node->id(), 'Make sure the right node entity got loaded.');
+    // Tests entities as relationships on second level.
+    $entity = $view->field['uid']->get_entity($row);
+    $this->assertEqual($entity->id(), $account->id(), 'Make sure the right user entity got loaded.');
+  }
+
+}
diff --git a/tests/views_test_config/config/views.view.test_field_get_entity.yml b/tests/views_test_config/config/views.view.test_field_get_entity.yml
new file mode 100644
index 0000000000000000000000000000000000000000..269b4b23519ada86400745fd6768dd8aeac29845
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_field_get_entity.yml
@@ -0,0 +1,63 @@
+api_version: '3.0'
+base_table: comment
+core: 8.0-dev
+description: ''
+disabled: '0'
+display:
+  default:
+    display_options:
+      access:
+        type: perm
+      cache:
+        type: none
+      exposed_form:
+        type: basic
+      fields:
+        cid:
+          field: cid
+          id: cid
+          table: comment
+        nid:
+          field: nid
+          id: nid
+          table: node
+          relationship: nid
+        uid:
+          field: uid
+          id: uid
+          table: users
+          relationship: uid
+      filter_groups:
+        groups: {  }
+        operator: AND
+      filters: {  }
+      pager:
+        type: full
+      query:
+        type: views_query
+      relationships:
+        nid:
+          field: nid
+          id: nid
+          required: '1'
+          table: comment
+        uid:
+          admin_label: ''
+          field: uid
+          group_type: group
+          id: uid
+          label: author
+          relationship: nid
+          required: '0'
+          table: node
+      row_plugin: fields
+      sorts: {  }
+      style_plugin: default
+    display_plugin: default
+    display_title: Master
+    id: default
+    position: '0'
+human_name: test_field_get_entity
+name: test_field_get_entity
+tag: default
+