diff --git a/includes/handlers.inc b/includes/handlers.inc
index ebdec34..ddfab3c 100644
--- a/includes/handlers.inc
+++ b/includes/handlers.inc
@@ -6,8 +6,6 @@
  */
 
 use Drupal\Core\Database\Database;
-use Drupal\views\View;
-use Drupal\views\Plugin\views\join\JoinPluginBase;
 use Drupal\views\Plugin\Type\ViewsPluginManager;
 use Drupal\Component\Plugin\Exception\PluginException;
 
diff --git a/lib/Drupal/views/Tests/Comment/ArgumentUserUIDTest.php b/lib/Drupal/views/Tests/Comment/ArgumentUserUIDTest.php
index 83aa6d9..bae6b1b 100644
--- a/lib/Drupal/views/Tests/Comment/ArgumentUserUIDTest.php
+++ b/lib/Drupal/views/Tests/Comment/ArgumentUserUIDTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Comment;
 
-use Drupal\views\View;
-
 /**
  * Tests the argument_comment_user_uid handler.
  */
diff --git a/lib/Drupal/views/Tests/Comment/CommentTestBase.php b/lib/Drupal/views/Tests/Comment/CommentTestBase.php
index 7ef2b75..42c8bc2 100644
--- a/lib/Drupal/views/Tests/Comment/CommentTestBase.php
+++ b/lib/Drupal/views/Tests/Comment/CommentTestBase.php
@@ -8,7 +8,6 @@
 namespace Drupal\views\Tests\Comment;
 
 use Drupal\views\Tests\ViewTestBase;
-use Drupal\views\View;
 
 /**
  * Tests the argument_comment_user_uid handler.
@@ -44,41 +43,7 @@ function setUp() {
   }
 
   function view_comment_user_uid() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_comment_user_uid';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'node';
-    $view->human_name = 'test_comment_user_uid';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['query']['options']['query_comment'] = FALSE;
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-    /* Field: Content: nid */
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'nid';
-    /* Contextual filter: Content: User posted or commented */
-    $handler->display->display_options['arguments']['uid_touch']['id'] = 'uid_touch';
-    $handler->display->display_options['arguments']['uid_touch']['table'] = 'node';
-    $handler->display->display_options['arguments']['uid_touch']['field'] = 'uid_touch';
-    $handler->display->display_options['arguments']['uid_touch']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['uid_touch']['default_argument_skip_url'] = 0;
-    $handler->display->display_options['arguments']['uid_touch']['summary']['number_of_records'] = '0';
-    $handler->display->display_options['arguments']['uid_touch']['summary']['format'] = 'default_summary';
-    $handler->display->display_options['arguments']['uid_touch']['summary_options']['items_per_page'] = '25';
-
-    return $view;
+    return $this->createViewFromConfig('test_comment_user_uid');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Comment/FilterUserUIDTest.php b/lib/Drupal/views/Tests/Comment/FilterUserUIDTest.php
index e3bea5f..5995240 100644
--- a/lib/Drupal/views/Tests/Comment/FilterUserUIDTest.php
+++ b/lib/Drupal/views/Tests/Comment/FilterUserUIDTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Comment;
 
-use Drupal\views\View;
-
 /**
  * Tests the filter_comment_user_uid handler.
  *
diff --git a/lib/Drupal/views/Tests/Field/HandlerFieldFieldTest.php b/lib/Drupal/views/Tests/Field/HandlerFieldFieldTest.php
index 32de413..a551025 100644
--- a/lib/Drupal/views/Tests/Field/HandlerFieldFieldTest.php
+++ b/lib/Drupal/views/Tests/Field/HandlerFieldFieldTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Field;
 
-use Drupal\views\View;
-
 /**
  * Tests the field_field handler.
  * @TODO
@@ -202,34 +200,14 @@ public function _testMultipleFieldRender() {
   }
 
   protected function getFieldView() {
-    $view = new View(array(), 'view');
-    $view->name = 'view_fieldapi';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'node';
-    $view->human_name = 'view_fieldapi';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'nid';
+    $view = $this->createViewFromConfig('test_view_fieldapi');
+
     foreach ($this->fields as $key => $field) {
-      $handler->display->display_options['fields'][$field['field_name']]['id'] = $field['field_name'];
-      $handler->display->display_options['fields'][$field['field_name']]['table'] = 'field_data_' . $field['field_name'];
-      $handler->display->display_options['fields'][$field['field_name']]['field'] = $field['field_name'];
+      $view->display_handler->display->display_options['fields'][$field['field_name']]['id'] = $field['field_name'];
+      $view->display_handler->display->display_options['fields'][$field['field_name']]['table'] = 'field_data_' . $field['field_name'];
+      $view->display_handler->display->display_options['fields'][$field['field_name']]['field'] = $field['field_name'];
     }
+
     return $view;
   }
 
diff --git a/lib/Drupal/views/Tests/Handler/ArgumentStringTest.php b/lib/Drupal/views/Tests/Handler/ArgumentStringTest.php
index 8f6d072..860189b 100644
--- a/lib/Drupal/views/Tests/Handler/ArgumentStringTest.php
+++ b/lib/Drupal/views/Tests/Handler/ArgumentStringTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Handler;
 
-use Drupal\views\View;
-
 /**
  * Tests the core Drupal\views\Plugin\views\argument\String handler.
  */
@@ -62,42 +60,7 @@ function testGlossary() {
    * @return Drupal\views\View
    */
   function viewGlossary() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_glossary';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'node';
-    $view->human_name = 'test_glossary';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['label'] = '';
-    /* Contextual filter: Content: Title */
-    $handler->display->display_options['arguments']['title']['id'] = 'title';
-    $handler->display->display_options['arguments']['title']['table'] = 'node';
-    $handler->display->display_options['arguments']['title']['field'] = 'title';
-    $handler->display->display_options['arguments']['title']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['title']['summary']['number_of_records'] = '0';
-    $handler->display->display_options['arguments']['title']['summary']['format'] = 'default_summary';
-    $handler->display->display_options['arguments']['title']['summary_options']['items_per_page'] = '25';
-    $handler->display->display_options['arguments']['title']['glossary'] = TRUE;
-    $handler->display->display_options['arguments']['title']['limit'] = '1';
-
-    return $view;
+    return $this->createViewFromConfig('test_glossary');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Handler/FieldUrlTest.php b/lib/Drupal/views/Tests/Handler/FieldUrlTest.php
index b7c40e4..2ff6a45 100644
--- a/lib/Drupal/views/Tests/Handler/FieldUrlTest.php
+++ b/lib/Drupal/views/Tests/Handler/FieldUrlTest.php
@@ -50,7 +50,7 @@ public function testFieldUrl() {
     $this->assertEqual('John', $view->field['name']->advanced_render($view->result[0]));
 
     // Make the url a link.
-    $view->delete();
+    $view->destroy();
     $view = $this->getBasicView();
 
     $view->display['default']->handler->overrideOption('fields', array(
diff --git a/lib/Drupal/views/Tests/Handler/FilterCombineTest.php b/lib/Drupal/views/Tests/Handler/FilterCombineTest.php
index 1d5b035..306e896 100644
--- a/lib/Drupal/views/Tests/Handler/FilterCombineTest.php
+++ b/lib/Drupal/views/Tests/Handler/FilterCombineTest.php
@@ -35,8 +35,7 @@ function setUp() {
 
   protected function getBasicView() {
     $view = parent::getBasicView();
-    $fields = $view->display['default']->handler->options['fields'];
-    $view->display['default']->display_options['fields']['job'] = array(
+    $view->display['default']->handler->options['fields']['job'] = array(
       'id' => 'job',
       'table' => 'views_test',
       'field' => 'job',
diff --git a/lib/Drupal/views/Tests/Handler/FilterDateTest.php b/lib/Drupal/views/Tests/Handler/FilterDateTest.php
index 1ab7cfb..44b6909 100644
--- a/lib/Drupal/views/Tests/Handler/FilterDateTest.php
+++ b/lib/Drupal/views/Tests/Handler/FilterDateTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Handler;
 
-use Drupal\views\View;
-
 /**
  * Tests the core Drupal\views\Plugin\views\filter\Date handler.
  */
@@ -76,7 +74,6 @@ function testOffset() {
     $view->destroy();
   }
 
-
   /**
    * Tests the filter operator between/not between.
    */
@@ -162,42 +159,11 @@ function testUiValidation() {
   }
 
   function views_test_between() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_filter_date_between';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->human_name = '';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-    $view->uuid = NULL;
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['query']['options']['query_comment'] = FALSE;
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Nid */
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'nid';
-    /* Filter criterion: Content: Post date */
-    $handler->display->display_options['filters']['created']['id'] = 'created';
-    $handler->display->display_options['filters']['created']['table'] = 'node';
-    $handler->display->display_options['filters']['created']['field'] = 'created';
-
-    return $view;
+    return $this->createViewFromConfig('test_filter_date_between');
   }
 
   function views_test_offset() {
-    $view = $this->views_test_between();
-    return $view;
+    return $this->createViewFromConfig('test_filter_date_between');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Plugin/AccessTest.php b/lib/Drupal/views/Tests/Plugin/AccessTest.php
index 5950a5d..ad67835 100644
--- a/lib/Drupal/views/Tests/Plugin/AccessTest.php
+++ b/lib/Drupal/views/Tests/Plugin/AccessTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Plugin;
 
-use Drupal\views\View;
-
 /**
  * Basic test for pluggable access.
  */
@@ -99,13 +97,13 @@ function testStaticAccessPlugin() {
 
     // FALSE comes from hook_menu caching.
     $expected_hook_menu = array(
-      'views_test_test_static_access_callback', array(FALSE)
+      'views_test_data_test_static_access_callback', array(FALSE)
     );
     $hook_menu = $view->executeHookMenu('page_1');
     $this->assertEqual($expected_hook_menu, $hook_menu['test_access_static']['access arguments'][0]);
 
     $expected_hook_menu = array(
-      'views_test_test_static_access_callback', array(TRUE)
+      'views_test_data_test_static_access_callback', array(TRUE)
     );
     $this->assertTrue(views_access($expected_hook_menu));
   }
@@ -133,140 +131,41 @@ function testDynamicAccessPlugin() {
 
     // FALSE comes from hook_menu caching.
     $expected_hook_menu = array(
-      'views_test_test_dynamic_access_callback', array(FALSE, 1, 2)
+      'views_test_data_test_dynamic_access_callback', array(FALSE, 1, 2)
     );
     $hook_menu = $view->executeHookMenu('page_1');
     $this->assertEqual($expected_hook_menu, $hook_menu['test_access_dynamic']['access arguments'][0]);
 
     $expected_hook_menu = array(
-      'views_test_test_dynamic_access_callback', array(TRUE, 1, 2)
+      'views_test_data_test_dynamic_access_callback', array(TRUE, 1, 2)
     );
     $this->assertTrue(views_access($expected_hook_menu, $argument1, $argument2));
   }
 
   function view_access_none() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_access_none';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-
-    return $view;
+    return $this->createViewFromConfig('test_access_none');
   }
 
   function view_access_perm() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_access_perm';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['access']['perm'] = 'views_test test permission';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-
-    return $view;
+    return $this->createViewFromConfig('test_access_perm');
   }
 
   function view_access_role() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_access_role';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'role';
-    $handler->display->display_options['access']['role'] = array(
+    $view = $this->createViewFromConfig('test_access_role');
+
+    $view->display['default']->handler->options['access']['role'] = array(
       $this->normal_role => $this->normal_role,
     );
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
 
     return $view;
   }
 
   function view_access_dynamic() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_access_dynamic';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'test_dynamic';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-
-    $handler = $view->newDisplay('page', 'Page', 'page_1');
-    $handler->display->display_options['path'] = 'test_access_dynamic';
-
-    return $view;
+    return $this->createViewFromConfig('test_access_dynamic');
   }
 
   function view_access_static() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_access_static';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'test_static';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-
-    $handler = $view->newDisplay('page', 'Page', 'page_1');
-    $handler->display->display_options['path'] = 'test_access_static';
-
-    return $view;
+    return $this->createViewFromConfig('test_access_static');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Plugin/ArgumentDefaultTest.php b/lib/Drupal/views/Tests/Plugin/ArgumentDefaultTest.php
index a175407..42bab55 100644
--- a/lib/Drupal/views/Tests/Plugin/ArgumentDefaultTest.php
+++ b/lib/Drupal/views/Tests/Plugin/ArgumentDefaultTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Plugin;
 
-use Drupal\views\View;
-
 /**
  * Basic test for pluggable argument default.
  */
@@ -103,48 +101,8 @@ function testArgumentDefaultFixed() {
   //function testArgumentDefaultNode() {}
 
   function view_argument_default_fixed() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_argument_default_fixed';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '10';
-    $handler->display->display_options['pager']['options']['offset'] = '0';
-    $handler->display->display_options['pager']['options']['id'] = '0';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['title']['link_to_node'] = 0;
-    /* Argument: Global: Null */
-    $handler->display->display_options['arguments']['null']['id'] = 'null';
-    $handler->display->display_options['arguments']['null']['table'] = 'views';
-    $handler->display->display_options['arguments']['null']['field'] = 'null';
-    $handler->display->display_options['arguments']['null']['default_action'] = 'default';
-    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['null']['default_argument_options']['argument'] = $this->random;
-    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
+    $view =  $this->createViewFromConfig('test_argument_default_fixed');
+    $view->display['default']->handler->options['arguments']['null']['default_argument_options']['argument'] = $this->random;
 
     return $view;
   }
diff --git a/lib/Drupal/views/Tests/Plugin/ArgumentValidatorTest.php b/lib/Drupal/views/Tests/Plugin/ArgumentValidatorTest.php
index 9fe68da..27b8338 100644
--- a/lib/Drupal/views/Tests/Plugin/ArgumentValidatorTest.php
+++ b/lib/Drupal/views/Tests/Plugin/ArgumentValidatorTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Plugin;
 
-use Drupal\views\View;
-
 /**
  * Tests Views argument validators.
  */
@@ -47,66 +45,14 @@ function testArgumentValidateNumeric() {
 
   function view_test_argument_validate_php($string) {
     $code = 'return $argument == \''. $string .'\';';
-    $view = new View(array(), 'view');
-    $view->name = 'view_argument_validate_numeric';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Argument: Global: Null */
-    $handler->display->display_options['arguments']['null']['id'] = 'null';
-    $handler->display->display_options['arguments']['null']['table'] = 'views';
-    $handler->display->display_options['arguments']['null']['field'] = 'null';
-    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['null']['validate']['type'] = 'php';
-    $handler->display->display_options['arguments']['null']['validate_options']['code'] = $code;
-    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
+    $view = $this->createViewFromConfig('test_view_argument_validate_numeric');
+    $view->display['default']->handler->options['arguments']['null']['validate_options']['code'] = $code;
 
     return $view;
   }
 
   function view_argument_validate_numeric() {
-    $view = new View(array(), 'view');
-    $view->name = 'view_argument_validate_numeric';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Argument: Global: Null */
-    $handler->display->display_options['arguments']['null']['id'] = 'null';
-    $handler->display->display_options['arguments']['null']['table'] = 'views';
-    $handler->display->display_options['arguments']['null']['field'] = 'null';
-    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['null']['validate']['type'] = 'numeric';
-    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
-
-    return $view;
+    return $this->createViewFromConfig('test_view_argument_validate_numeric');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Plugin/DisplayTest.php b/lib/Drupal/views/Tests/Plugin/DisplayTest.php
index 10a3861..b6cc950 100644
--- a/lib/Drupal/views/Tests/Plugin/DisplayTest.php
+++ b/lib/Drupal/views/Tests/Plugin/DisplayTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Plugin;
 
-use Drupal\views\View;
-
 /**
  * Tests the basic display plugin.
  */
@@ -42,45 +40,7 @@ function testFilterGroupsOverriding() {
    * @return Drupal\views\View
    */
   function viewFilterGroupsOverriding() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_filter_group_override';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'node';
-    $view->human_name = 'test_filter_group_override';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['label'] = '';
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
-    /* Filter criterion: Content: Published */
-    $handler->display->display_options['filters']['status']['id'] = 'status';
-    $handler->display->display_options['filters']['status']['table'] = 'node';
-    $handler->display->display_options['filters']['status']['field'] = 'status';
-    $handler->display->display_options['filters']['status']['value'] = 1;
-    $handler->display->display_options['filters']['status']['group'] = 1;
-    $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
-
-    /* Display: Page */
-    $handler = $view->newDisplay('page', 'Page', 'page_1');
-    $handler->display->display_options['path'] = 'test';
-
-    return $view;
+    return $this->createViewFromConfig('test_filter_group_override');
   }
 
   /**
@@ -91,93 +51,7 @@ function viewFilterGroupsOverriding() {
    * @return Drupal\views\View
    */
   function viewFilterGroupsUpdating() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_filter_groups';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'node';
-    $view->human_name = 'test_filter_groups';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['title'] = 'test_filter_groups';
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '10';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['label'] = '';
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
-    /* Sort criterion: Content: Post date */
-    $handler->display->display_options['sorts']['created']['id'] = 'created';
-    $handler->display->display_options['sorts']['created']['table'] = 'node';
-    $handler->display->display_options['sorts']['created']['field'] = 'created';
-    $handler->display->display_options['sorts']['created']['order'] = 'DESC';
-    $handler->display->display_options['filter_groups']['groups'] = array(
-      1 => 'AND',
-      2 => 'AND',
-    );
-    /* Filter criterion: Content: Published */
-    $handler->display->display_options['filters']['status']['id'] = 'status';
-    $handler->display->display_options['filters']['status']['table'] = 'node';
-    $handler->display->display_options['filters']['status']['field'] = 'status';
-    $handler->display->display_options['filters']['status']['value'] = 1;
-    $handler->display->display_options['filters']['status']['group'] = 1;
-    $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
-    /* Filter criterion: Content: Nid */
-    $handler->display->display_options['filters']['nid']['id'] = 'nid';
-    $handler->display->display_options['filters']['nid']['table'] = 'node';
-    $handler->display->display_options['filters']['nid']['field'] = 'nid';
-    $handler->display->display_options['filters']['nid']['value']['value'] = '1';
-    $handler->display->display_options['filters']['nid']['group'] = 2;
-    /* Filter criterion: Content: Nid */
-    $handler->display->display_options['filters']['nid_1']['id'] = 'nid_1';
-    $handler->display->display_options['filters']['nid_1']['table'] = 'node';
-    $handler->display->display_options['filters']['nid_1']['field'] = 'nid';
-    $handler->display->display_options['filters']['nid_1']['value']['value'] = '2';
-    $handler->display->display_options['filters']['nid_1']['group'] = 2;
-
-    /* Display: Page */
-    $handler = $view->newDisplay('page', 'Page', 'page');
-    $handler->display->display_options['filter_groups']['operator'] = 'OR';
-    $handler->display->display_options['filter_groups']['groups'] = array(
-      1 => 'OR',
-      2 => 'OR',
-    );
-    $handler->display->display_options['defaults']['filters'] = FALSE;
-    /* Filter criterion: Content: Published */
-    $handler->display->display_options['filters']['status']['id'] = 'status';
-    $handler->display->display_options['filters']['status']['table'] = 'node';
-    $handler->display->display_options['filters']['status']['field'] = 'status';
-    $handler->display->display_options['filters']['status']['value'] = 1;
-    $handler->display->display_options['filters']['status']['group'] = 1;
-    $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
-    /* Filter criterion: Content: Nid */
-    $handler->display->display_options['filters']['nid']['id'] = 'nid';
-    $handler->display->display_options['filters']['nid']['table'] = 'node';
-    $handler->display->display_options['filters']['nid']['field'] = 'nid';
-    $handler->display->display_options['filters']['nid']['value']['value'] = '1';
-    $handler->display->display_options['filters']['nid']['group'] = 2;
-    /* Filter criterion: Content: Nid */
-    $handler->display->display_options['filters']['nid_1']['id'] = 'nid_1';
-    $handler->display->display_options['filters']['nid_1']['table'] = 'node';
-    $handler->display->display_options['filters']['nid_1']['field'] = 'nid';
-    $handler->display->display_options['filters']['nid_1']['value']['value'] = '2';
-    $handler->display->display_options['filters']['nid_1']['group'] = 2;
-    $handler->display->display_options['path'] = 'test-filter-groups';
-
-    return $view;
+    return $this->createViewFromConfig('test_filter_groups');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Plugin/PagerTest.php b/lib/Drupal/views/Tests/Plugin/PagerTest.php
index 01e5199..2c45df1 100644
--- a/lib/Drupal/views/Tests/Plugin/PagerTest.php
+++ b/lib/Drupal/views/Tests/Plugin/PagerTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\Plugin;
 
-use Drupal\views\View;
-
 /**
  * Tests the pluggable pager system.
  */
@@ -103,26 +101,7 @@ public function testStorePagerSettings() {
   }
 
   public function viewsStorePagerSettings() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_store_pager_settings';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-    $view->uuid = NULL;
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'none';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-    return $view;
+    return $this->createViewFromConfig('test_store_pager_settings');
   }
 
   /**
@@ -163,25 +142,7 @@ public function testNoLimit() {
   }
 
   public function viewsPagerNoLimit() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_pager_none';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'none';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-    return $view;
+    return $this->createViewFromConfig('test_pager_none');
   }
 
   public function testViewTotalRowsWithoutPager() {
@@ -239,27 +200,7 @@ public function testLimit() {
   }
 
   public function viewsPagerLimit() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_pager_some';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'some';
-    $handler->display->display_options['pager']['options']['offset'] = 0;
-    $handler->display->display_options['pager']['options']['items_per_page'] = 5;
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-    return $view;
+    return $this->createViewFromConfig('test_pager_some');
   }
 
   /**
@@ -323,107 +264,15 @@ public function testNormalPager() {
   }
 
   function viewPagerFullZeroItemsPerPage() {
-    $view = new View(array(), 'view');
-    $view->name = 'view_pager_full_zero_items_per_page';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '0';
-    $handler->display->display_options['pager']['options']['offset'] = '0';
-    $handler->display->display_options['pager']['options']['id'] = '0';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['title']['link_to_node'] = 0;
-
-    return $view;
+    return $this->createViewFromConfig('test_view_pager_full_zero_items_per_page');
   }
 
   function viewsPagerFull() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_pager_full';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '5';
-    $handler->display->display_options['pager']['options']['offset'] = '0';
-    $handler->display->display_options['pager']['options']['id'] = '0';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-
-    return $view;
+    return $this->createViewFromConfig('test_pager_full');
   }
 
   function viewsPagerFullFields() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_pager_full';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '5';
-    $handler->display->display_options['pager']['options']['offset'] = '0';
-    $handler->display->display_options['pager']['options']['id'] = '0';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['title']['link_to_node'] = 0;
-    return $view;
+    return $this->createViewFromConfig('test_pager_full');
   }
 
   /**
@@ -500,7 +349,6 @@ function testPagerApi() {
     $rand_number = rand(6, 11);
     $view->pager->set_current_page($rand_number);
     $this->assertEqual($view->getCurrentPage(), $rand_number, 'Make sure get_current_page uses the settings of set_current_page.');
-
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Plugin/PluginTestBase.php b/lib/Drupal/views/Tests/Plugin/PluginTestBase.php
index 2f03fe6..048690e 100644
--- a/lib/Drupal/views/Tests/Plugin/PluginTestBase.php
+++ b/lib/Drupal/views/Tests/Plugin/PluginTestBase.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\views\Tests\Plugin;
 
-use Drupal\views\View;
 use Drupal\views\Tests\ViewTestBase;
 
 /**
diff --git a/lib/Drupal/views/Tests/QueryGroupByTest.php b/lib/Drupal/views/Tests/QueryGroupByTest.php
index b533773..e00d8cc 100644
--- a/lib/Drupal/views/Tests/QueryGroupByTest.php
+++ b/lib/Drupal/views/Tests/QueryGroupByTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests;
 
-use Drupal\views\View;
-
 /**
  * Tests aggregate functionality of views, for example count.
  */
@@ -20,7 +18,6 @@ public static function getInfo() {
       'description' => 'Tests aggregate functionality of views, for example count.',
       'group' => 'Views',
     );
-
   }
 
   /**
@@ -47,7 +44,7 @@ public function testAggregateCount() {
     $this->drupalCreateNode($node_2);
 
     $view = $this->viewsAggregateCountView();
-    $output = $view->executeDisplay();
+    $this->executeView($view);
 
     $this->assertEqual(count($view->result), 2, 'Make sure the count of items is right.');
 
@@ -65,51 +62,7 @@ public function testAggregateCount() {
   //}
 
   public function viewsAggregateCountView() {
-    $view = new View(array(), 'view');
-    $view->name = 'aggregate_count';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->human_name = '';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['group_by'] = TRUE;
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['query']['options']['query_comment'] = FALSE;
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'some';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'title';
-    $handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['nid']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['nid']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['nid']['link_to_node'] = 0;
-    /* Contextual filter: Content: Type */
-    $handler->display->display_options['arguments']['type']['id'] = 'type';
-    $handler->display->display_options['arguments']['type']['table'] = 'node';
-    $handler->display->display_options['arguments']['type']['field'] = 'type';
-    $handler->display->display_options['arguments']['type']['default_action'] = 'summary';
-    $handler->display->display_options['arguments']['type']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['type']['summary']['format'] = 'default_summary';
-
-
-    return $view;
+    return $this->createViewFromConfig('test_aggregate_count');
   }
 
   /**
@@ -138,7 +91,7 @@ function GroupByTestHelper($group_by, $values) {
     $this->drupalCreateNode($node_2);
 
     $view = $this->viewsGroupByViewHelper($group_by);
-    $output = $view->executeDisplay();
+    $this->executeView($view);
 
     $this->assertEqual(count($view->result), 2, 'Make sure the count of items is right.');
     // Group by nodetype to identify the right count.
@@ -150,54 +103,8 @@ function GroupByTestHelper($group_by, $values) {
   }
 
   function viewsGroupByViewHelper($group_by) {
-    $view = new View(array(), 'view');
-    $view->name = 'group_by_count';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['group_by'] = TRUE;
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'some';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Nid */
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'nid';
-    $handler->display->display_options['fields']['nid']['group_type'] = $group_by;
-    $handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['nid']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['nid']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['nid']['link_to_node'] = 0;
-    /* Field: Content: Type */
-    $handler->display->display_options['fields']['type']['id'] = 'type';
-    $handler->display->display_options['fields']['type']['table'] = 'node';
-    $handler->display->display_options['fields']['type']['field'] = 'type';
-    $handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['type']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['type']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['type']['link_to_node'] = 0;
+    $view = $this->createViewFromConfig('test_group_by_count');
+    $view->display['default']->handler->options['fields']['nid']['group_type'] = $group_by;
 
     return $view;
   }
@@ -237,55 +144,14 @@ public function testGroupByCountOnlyFilters() {
     }
 
     $view = $this->viewsGroupByCountViewOnlyFilters();
-    $output = $view->executeDisplay();
+    $this->executeView($view);
 
     $this->assertTrue(strpos($view->build_info['query'], 'GROUP BY'), t('Make sure that GROUP BY is in the query'));
     $this->assertTrue(strpos($view->build_info['query'], 'HAVING'), t('Make sure that HAVING is in the query'));
   }
 
   public function viewsGroupByCountViewOnlyFilters() {
-    $view = new View(array(), 'view');
-    $view->name = 'group_by_in_filters';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['group_by'] = TRUE;
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'some';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Node: Type */
-    $handler->display->display_options['fields']['type']['id'] = 'type';
-    $handler->display->display_options['fields']['type']['table'] = 'node';
-    $handler->display->display_options['fields']['type']['field'] = 'type';
-    $handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['type']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['type']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['type']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['type']['link_to_node'] = 0;
-    /* Filter: Node: Nid */
-    $handler->display->display_options['filters']['nid']['id'] = 'nid';
-    $handler->display->display_options['filters']['nid']['table'] = 'node';
-    $handler->display->display_options['filters']['nid']['field'] = 'nid';
-    $handler->display->display_options['filters']['nid']['group_type'] = 'count';
-    $handler->display->display_options['filters']['nid']['operator'] = '>';
-    $handler->display->display_options['filters']['nid']['value']['value'] = '3';
-
-    return $view;
+    return $this->createViewFromConfig('test_group_by_in_filters');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/Taxonomy/RelationshipNodeTermDataTest.php b/lib/Drupal/views/Tests/Taxonomy/RelationshipNodeTermDataTest.php
index cf6dab5..4e8797d 100644
--- a/lib/Drupal/views/Tests/Taxonomy/RelationshipNodeTermDataTest.php
+++ b/lib/Drupal/views/Tests/Taxonomy/RelationshipNodeTermDataTest.php
@@ -8,7 +8,6 @@
 namespace Drupal\views\Tests\Taxonomy;
 
 use Drupal\views\Tests\ViewTestBase;
-use Drupal\views\View;
 
 /**
  * Tests the node_term_data relationship handler.
@@ -76,61 +75,7 @@ function testViewsHandlerRelationshipNodeTermData() {
   }
 
   function view_taxonomy_node_term_data() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_taxonomy_node_term_data';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->human_name = 'test_taxonomy_node_term_data';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'node';
-    /* Relationship: Content: Taxonomy terms on node */
-    $handler->display->display_options['relationships']['term_node_tid']['id'] = 'term_node_tid';
-    $handler->display->display_options['relationships']['term_node_tid']['table'] = 'node';
-    $handler->display->display_options['relationships']['term_node_tid']['field'] = 'term_node_tid';
-    $handler->display->display_options['relationships']['term_node_tid']['label'] = 'Term #1';
-    $handler->display->display_options['relationships']['term_node_tid']['vocabularies'] = array(
-      'tags' => 0,
-    );
-    /* Relationship: Content: Taxonomy terms on node */
-    $handler->display->display_options['relationships']['term_node_tid_1']['id'] = 'term_node_tid_1';
-    $handler->display->display_options['relationships']['term_node_tid_1']['table'] = 'node';
-    $handler->display->display_options['relationships']['term_node_tid_1']['field'] = 'term_node_tid';
-    $handler->display->display_options['relationships']['term_node_tid_1']['label'] = 'Term #2';
-    $handler->display->display_options['relationships']['term_node_tid_1']['vocabularies'] = array(
-      'tags' => 0,
-    );
-    /* Contextual filter: Taxonomy term: Term ID */
-    $handler->display->display_options['arguments']['tid']['id'] = 'tid';
-    $handler->display->display_options['arguments']['tid']['table'] = 'taxonomy_term_data';
-    $handler->display->display_options['arguments']['tid']['field'] = 'tid';
-    $handler->display->display_options['arguments']['tid']['relationship'] = 'term_node_tid';
-    $handler->display->display_options['arguments']['tid']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['tid']['summary']['number_of_records'] = '0';
-    $handler->display->display_options['arguments']['tid']['summary']['format'] = 'default_summary';
-    $handler->display->display_options['arguments']['tid']['summary_options']['items_per_page'] = '25';
-    /* Contextual filter: Taxonomy term: Term ID */
-    $handler->display->display_options['arguments']['tid_1']['id'] = 'tid_1';
-    $handler->display->display_options['arguments']['tid_1']['table'] = 'taxonomy_term_data';
-    $handler->display->display_options['arguments']['tid_1']['field'] = 'tid';
-    $handler->display->display_options['arguments']['tid_1']['relationship'] = 'term_node_tid_1';
-    $handler->display->display_options['arguments']['tid_1']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['tid_1']['summary']['number_of_records'] = '0';
-    $handler->display->display_options['arguments']['tid_1']['summary']['format'] = 'default_summary';
-    $handler->display->display_options['arguments']['tid_1']['summary_options']['items_per_page'] = '25';
-
-    return $view;
+    return $this->createViewFromConfig('test_taxonomy_node_term_data');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/TranslatableTest.php b/lib/Drupal/views/Tests/TranslatableTest.php
index b8c9aab..51a5c98 100644
--- a/lib/Drupal/views/Tests/TranslatableTest.php
+++ b/lib/Drupal/views/Tests/TranslatableTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests;
 
-use Drupal\views\View;
-
 /**
  * Tests Views pluggable translations.
  */
@@ -59,7 +57,7 @@ public function testUnpackTranslatable() {
     $view = $this->view_unpack_translatable();
     $view->initLocalization();
 
-    $this->assertEqual('Drupal\views_test\Plugin\views\localization\LocalizationTest', get_class($view->localization_plugin), 'Make sure that init_localization initializes the right translation plugin');
+    $this->assertEqual('Drupal\views_test_data\Plugin\views\localization\LocalizationTest', get_class($view->localization_plugin), 'Make sure that init_localization initializes the right translation plugin');
 
     $view->exportLocaleStrings();
 
@@ -143,71 +141,7 @@ public function testTranslationKey() {
   }
 
   public function view_unpack_translatable() {
-    $view = new View(array(), 'view');
-    $view->name = 'view_unpack_translatable';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-    $view->uuid = NULL;
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master1', 'default');
-    $handler->display->display_options['title'] = 'title1';
-    $handler->display->display_options['use_more_text'] = 'more1';
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['exposed_form']['options']['submit_button'] = 'Apply1';
-    $handler->display->display_options['exposed_form']['options']['reset_button'] = TRUE;
-    $handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Reset1';
-    $handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Sort By1';
-    $handler->display->display_options['exposed_form']['options']['sort_asc_label'] = 'Asc1';
-    $handler->display->display_options['exposed_form']['options']['sort_desc_label'] = 'Desc1';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '10';
-    $handler->display->display_options['pager']['options']['offset'] = '0';
-    $handler->display->display_options['pager']['options']['id'] = '0';
-    $handler->display->display_options['pager']['options']['quantity'] = '9';
-    $handler->display->display_options['pager']['options']['tags']['first'] = 'Tag first1';
-    $handler->display->display_options['pager']['options']['tags']['previous'] = 'Tag prev1';
-    $handler->display->display_options['pager']['options']['tags']['next'] = 'Tag next1';
-    $handler->display->display_options['pager']['options']['tags']['last'] = 'Tag last1';
-    $handler->display->display_options['pager']['options']['expose']['items_per_page'] = TRUE;
-    $handler->display->display_options['pager']['options']['expose']['items_per_page_label'] = 'Items per page1';
-    $handler->display->display_options['pager']['options']['expose']['offset'] = TRUE;
-    $handler->display->display_options['pager']['options']['expose']['offset_label'] = 'Offset1';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Nid */
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'nid';
-    $handler->display->display_options['fields']['nid']['label'] = 'fieldlabel1';
-    $handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['nid']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['nid']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['nid']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['nid']['link_to_node'] = 0;
-    /* Filter: Content: Nid */
-    $handler->display->display_options['filters']['nid']['id'] = 'nid';
-    $handler->display->display_options['filters']['nid']['table'] = 'node';
-    $handler->display->display_options['filters']['nid']['field'] = 'nid';
-    $handler->display->display_options['filters']['nid']['exposed'] = TRUE;
-    $handler->display->display_options['filters']['nid']['expose']['operator_id'] = 'nid_op';
-    $handler->display->display_options['filters']['nid']['expose']['label'] = 'filterlabel1';
-    $handler->display->display_options['filters']['nid']['expose']['identifier'] = 'nid';
-    $handler->display->display_options['filters']['nid']['expose']['multiple'] = 1;
-    $handler->display->display_options['filters']['nid']['expose']['reduce'] = 0;
-
-    return $view;
+    return $this->createViewFromConfig('test_view_unpack_translatable');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/UpgradeTestCase.php b/lib/Drupal/views/Tests/UpgradeTestCase.php
index 3ecb760..ca55ac3 100644
--- a/lib/Drupal/views/Tests/UpgradeTestCase.php
+++ b/lib/Drupal/views/Tests/UpgradeTestCase.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests;
 
-use Drupal\views\View;
-
 /**
  * Tests the upgrade path of all conversions.
  *
@@ -120,72 +118,21 @@ public function testUpgradeImport() {
   }
 
   public function viewsMovedToField() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_views_move_to_field';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'views_test';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-
-    $handler->display->display_options['fields']['old_field_1']['id'] = 'old_field_1';
-    $handler->display->display_options['fields']['old_field_1']['table'] = 'views_test';
-    $handler->display->display_options['fields']['old_field_1']['field'] = 'old_field_1';
-
-    return $view;
+    return $this->createViewFromConfig('test_views_move_to_field');
   }
 
   public function viewsMovedToHandler() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_views_move_to_handler';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'views_test';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-
-    $handler->display->display_options['fields']['old_field_2']['id'] = 'old_field_2';
-    $handler->display->display_options['fields']['old_field_2']['table'] = 'views_test';
-    $handler->display->display_options['fields']['old_field_2']['field'] = 'old_field_2';
-
-    $handler->display->display_options['filters']['old_field_3']['id'] = 'old_field_3';
-    $handler->display->display_options['filters']['old_field_3']['table'] = 'views_test';
-    $handler->display->display_options['filters']['old_field_3']['field'] = 'old_field_3';
-
-    return $view;
+    return $this->createViewFromConfig('test_views_move_to_handler');
   }
 
   public function viewsMovedToTable() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_views_move_to_table';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'views_old_table';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-
-    $handler->display->display_options['fields']['id']['id'] = 'id';
-    $handler->display->display_options['fields']['id']['table'] = 'views_old_table';
-    $handler->display->display_options['fields']['id']['field'] = 'id';
-
-    return $view;
+    return $this->createViewFromConfig('test_views_move_to_table');
   }
 
+  /**
+   * @todo When we know if we are having import, we can either remove or
+   * update this.
+   */
   protected function viewUpgradeImport() {
     $import = '
       $view = new Drupal\views\View(array(), "view");
diff --git a/lib/Drupal/views/Tests/User/ArgumentDefaultTest.php b/lib/Drupal/views/Tests/User/ArgumentDefaultTest.php
index 8b6b9f8..1065d2b 100644
--- a/lib/Drupal/views/Tests/User/ArgumentDefaultTest.php
+++ b/lib/Drupal/views/Tests/User/ArgumentDefaultTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\User;
 
-use Drupal\views\View;
-
 /**
  * Tests views user argument default plugin.
  */
@@ -46,51 +44,7 @@ public function test_plugin_argument_default_current_user() {
   }
 
   function view_plugin_argument_default_current_user() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_plugin_argument_default_current_user';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '10';
-    $handler->display->display_options['pager']['options']['offset'] = '0';
-    $handler->display->display_options['pager']['options']['id'] = '0';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['title']['link_to_node'] = 0;
-    /* Argument: Global: Null */
-    $handler->display->display_options['arguments']['null']['id'] = 'null';
-    $handler->display->display_options['arguments']['null']['table'] = 'views';
-    $handler->display->display_options['arguments']['null']['field'] = 'null';
-    $handler->display->display_options['arguments']['null']['default_action'] = 'default';
-    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'current_user';
-    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
-
-    return $view;
+    return $this->createViewFromConfig('test_plugin_argument_default_current_user');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/User/ArgumentValidateTest.php b/lib/Drupal/views/Tests/User/ArgumentValidateTest.php
index 9ec4312..2c4d389 100644
--- a/lib/Drupal/views/Tests/User/ArgumentValidateTest.php
+++ b/lib/Drupal/views/Tests/User/ArgumentValidateTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\User;
 
-use Drupal\views\View;
-
 /**
  * Tests views user argument argument handler.
  */
@@ -87,33 +85,8 @@ function testArgumentValidateUserEither() {
   }
 
   function view_argument_validate_user($argtype) {
-    $view = new View(array(), 'view');
-    $view->name = 'view_argument_validate_user';
-    $view->description = '';
-    $view->tag = '';
-    $view->view_php = '';
-    $view->base_table = 'node';
-    $view->is_cacheable = FALSE;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Argument: Global: Null */
-    $handler->display->display_options['arguments']['null']['id'] = 'null';
-    $handler->display->display_options['arguments']['null']['table'] = 'views';
-    $handler->display->display_options['arguments']['null']['field'] = 'null';
-    $handler->display->display_options['arguments']['null']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
-    $handler->display->display_options['arguments']['null']['validate']['type'] = 'user';
-    $handler->display->display_options['arguments']['null']['validate_options']['type'] = $argtype;
-    $handler->display->display_options['arguments']['null']['must_not_be'] = 0;
+    $view = $this->createViewFromConfig('test_view_argument_validate_user');
+    $view->display['default']->handler->options['arguments']['null']['validate_options']['type'] = $argtype;
 
     return $view;
   }
diff --git a/lib/Drupal/views/Tests/User/HandlerFieldUserNameTest.php b/lib/Drupal/views/Tests/User/HandlerFieldUserNameTest.php
index a9f8fdd..e0c6690 100644
--- a/lib/Drupal/views/Tests/User/HandlerFieldUserNameTest.php
+++ b/lib/Drupal/views/Tests/User/HandlerFieldUserNameTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\User;
 
-use Drupal\views\View;
-
 /**
  * Tests the field username handler.
  *
@@ -58,45 +56,7 @@ function testUserName() {
 
   }
   function view_user_name() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_views_handler_field_user_name';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'users';
-    $view->human_name = 'test_views_handler_field_user_name';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['query']['options']['query_comment'] = FALSE;
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Field: User: Name */
-    $handler->display->display_options['fields']['name']['id'] = 'name';
-    $handler->display->display_options['fields']['name']['table'] = 'users';
-    $handler->display->display_options['fields']['name']['field'] = 'name';
-    $handler->display->display_options['fields']['name']['label'] = '';
-    $handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['word_boundary'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['ellipsis'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['name']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['name']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['name']['link_to_user'] = 1;
-    $handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
-
-    return $view;
+    return $this->createViewFromConfig('test_views_handler_field_user_name');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/User/UserTest.php b/lib/Drupal/views/Tests/User/UserTest.php
index 40cca16..ff51c81 100644
--- a/lib/Drupal/views/Tests/User/UserTest.php
+++ b/lib/Drupal/views/Tests/User/UserTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests\User;
 
-use Drupal\views\View;
-
 /**
  * Tests basic user module integration into views.
  */
@@ -54,7 +52,7 @@ protected function setUp() {
   public function testRelationship() {
     $view = $this->test_view_user_relationship();
 
-    $view->executeDisplay();
+    $this->executeView($view);
     $expected = array();
     for ($i = 0; $i <= 1; $i++) {
       $expected[$i] = array(
@@ -67,93 +65,7 @@ public function testRelationship() {
   }
 
   function test_view_user_relationship() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_user_relationship';
-    $view->description = '';
-    $view->tag = 'default';
-    $view->base_table = 'node';
-    $view->human_name = 'test_user_relationship';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['title'] = 'test_user_relationship';
-    $handler->display->display_options['access']['type'] = 'perm';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['query']['options']['query_comment'] = FALSE;
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['pager']['options']['items_per_page'] = '10';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    $handler->display->display_options['row_options']['hide_empty'] = 0;
-    $handler->display->display_options['row_options']['default_field_elements'] = 1;
-    /* Field: Content: Title */
-    $handler->display->display_options['fields']['title']['id'] = 'title';
-    $handler->display->display_options['fields']['title']['table'] = 'node';
-    $handler->display->display_options['fields']['title']['field'] = 'title';
-    $handler->display->display_options['fields']['title']['label'] = '';
-    $handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['title']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['title']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['title']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['title']['link_to_node'] = 1;
-    /* Field: User: Name */
-    $handler->display->display_options['fields']['name']['id'] = 'name';
-    $handler->display->display_options['fields']['name']['table'] = 'users';
-    $handler->display->display_options['fields']['name']['field'] = 'name';
-    $handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['external'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['replace_spaces'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['trim_whitespace'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['nl2br'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['name']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['name']['element_label_colon'] = 1;
-    $handler->display->display_options['fields']['name']['element_default_classes'] = 1;
-    $handler->display->display_options['fields']['name']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['name']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['name']['hide_alter_empty'] = 0;
-    $handler->display->display_options['fields']['name']['link_to_user'] = 1;
-    $handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
-    /* Field: User: Uid */
-    $handler->display->display_options['fields']['uid']['id'] = 'uid';
-    $handler->display->display_options['fields']['uid']['table'] = 'users';
-    $handler->display->display_options['fields']['uid']['field'] = 'uid';
-    $handler->display->display_options['fields']['uid']['alter']['alter_text'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['make_link'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['absolute'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['external'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['replace_spaces'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['trim_whitespace'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['nl2br'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['word_boundary'] = 1;
-    $handler->display->display_options['fields']['uid']['alter']['ellipsis'] = 1;
-    $handler->display->display_options['fields']['uid']['alter']['strip_tags'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['trim'] = 0;
-    $handler->display->display_options['fields']['uid']['alter']['html'] = 0;
-    $handler->display->display_options['fields']['uid']['element_label_colon'] = 1;
-    $handler->display->display_options['fields']['uid']['element_default_classes'] = 1;
-    $handler->display->display_options['fields']['uid']['hide_empty'] = 0;
-    $handler->display->display_options['fields']['uid']['empty_zero'] = 0;
-    $handler->display->display_options['fields']['uid']['hide_alter_empty'] = 0;
-    $handler->display->display_options['fields']['uid']['link_to_user'] = 1;
-
-    return $view;
+    return $this->createViewFromConfig('test_user_relationship');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/ViewTest.php b/lib/Drupal/views/Tests/ViewTest.php
index a6dfb0d..f45ebfa 100644
--- a/lib/Drupal/views/Tests/ViewTest.php
+++ b/lib/Drupal/views/Tests/ViewTest.php
@@ -7,8 +7,6 @@
 
 namespace Drupal\views\Tests;
 
-use Drupal\views\View;
-
 /**
  * Views class tests.
  */
@@ -91,195 +89,11 @@ function testValidate() {
    * This view provides some filters, fields, arguments, relationships, sorts, areas and attachments.
    */
   function view_test_destroy() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_destroy';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->human_name = '';
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-    /* Display: Master */
-    $handler = $view->newDisplay('default', 'Master', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    /* Header: Global: Text area */
-    $handler->display->display_options['header']['area']['id'] = 'area';
-    $handler->display->display_options['header']['area']['table'] = 'views';
-    $handler->display->display_options['header']['area']['field'] = 'area';
-    $handler->display->display_options['header']['area']['empty'] = FALSE;
-    /* Header: Global: Text area */
-    $handler->display->display_options['header']['area_1']['id'] = 'area_1';
-    $handler->display->display_options['header']['area_1']['table'] = 'views';
-    $handler->display->display_options['header']['area_1']['field'] = 'area';
-    $handler->display->display_options['header']['area_1']['empty'] = FALSE;
-    /* Footer: Global: Text area */
-    $handler->display->display_options['footer']['area']['id'] = 'area';
-    $handler->display->display_options['footer']['area']['table'] = 'views';
-    $handler->display->display_options['footer']['area']['field'] = 'area';
-    $handler->display->display_options['footer']['area']['empty'] = FALSE;
-    /* Footer: Global: Text area */
-    $handler->display->display_options['footer']['area_1']['id'] = 'area_1';
-    $handler->display->display_options['footer']['area_1']['table'] = 'views';
-    $handler->display->display_options['footer']['area_1']['field'] = 'area';
-    $handler->display->display_options['footer']['area_1']['empty'] = FALSE;
-    /* Empty text: Global: Text area */
-    $handler->display->display_options['empty']['area']['id'] = 'area';
-    $handler->display->display_options['empty']['area']['table'] = 'views';
-    $handler->display->display_options['empty']['area']['field'] = 'area';
-    $handler->display->display_options['empty']['area']['empty'] = FALSE;
-    /* Empty text: Global: Text area */
-    $handler->display->display_options['empty']['area_1']['id'] = 'area_1';
-    $handler->display->display_options['empty']['area_1']['table'] = 'views';
-    $handler->display->display_options['empty']['area_1']['field'] = 'area';
-    $handler->display->display_options['empty']['area_1']['empty'] = FALSE;
-    /* Relationship: Comment: Node */
-    $handler->display->display_options['relationships']['nid']['id'] = 'nid';
-    $handler->display->display_options['relationships']['nid']['table'] = 'comments';
-    $handler->display->display_options['relationships']['nid']['field'] = 'nid';
-    /* Relationship: Comment: Parent comment */
-    $handler->display->display_options['relationships']['pid']['id'] = 'pid';
-    $handler->display->display_options['relationships']['pid']['table'] = 'comments';
-    $handler->display->display_options['relationships']['pid']['field'] = 'pid';
-    /* Relationship: Comment: User */
-    $handler->display->display_options['relationships']['uid']['id'] = 'uid';
-    $handler->display->display_options['relationships']['uid']['table'] = 'comments';
-    $handler->display->display_options['relationships']['uid']['field'] = 'uid';
-    /* Field: Content: Nid */
-    $handler->display->display_options['fields']['nid']['id'] = 'nid';
-    $handler->display->display_options['fields']['nid']['table'] = 'node';
-    $handler->display->display_options['fields']['nid']['field'] = 'nid';
-    /* Field: Content: Path */
-    $handler->display->display_options['fields']['path']['id'] = 'path';
-    $handler->display->display_options['fields']['path']['table'] = 'node';
-    $handler->display->display_options['fields']['path']['field'] = 'path';
-    /* Field: Content: Post date */
-    $handler->display->display_options['fields']['created']['id'] = 'created';
-    $handler->display->display_options['fields']['created']['table'] = 'node';
-    $handler->display->display_options['fields']['created']['field'] = 'created';
-    /* Sort criterion: Content: Last comment author */
-    $handler->display->display_options['sorts']['last_comment_name']['id'] = 'last_comment_name';
-    $handler->display->display_options['sorts']['last_comment_name']['table'] = 'node_comment_statistics';
-    $handler->display->display_options['sorts']['last_comment_name']['field'] = 'last_comment_name';
-    /* Sort criterion: Content: Last comment time */
-    $handler->display->display_options['sorts']['last_comment_timestamp']['id'] = 'last_comment_timestamp';
-    $handler->display->display_options['sorts']['last_comment_timestamp']['table'] = 'node_comment_statistics';
-    $handler->display->display_options['sorts']['last_comment_timestamp']['field'] = 'last_comment_timestamp';
-    /* Argument: Content: Created date */
-    $handler->display->display_options['arguments']['created_fulldate']['id'] = 'created_fulldate';
-    $handler->display->display_options['arguments']['created_fulldate']['table'] = 'node';
-    $handler->display->display_options['arguments']['created_fulldate']['field'] = 'created_fulldate';
-    $handler->display->display_options['arguments']['created_fulldate']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['created_fulldate']['default_argument_type'] = 'fixed';
-    /* Argument: Content: Created day */
-    $handler->display->display_options['arguments']['created_day']['id'] = 'created_day';
-    $handler->display->display_options['arguments']['created_day']['table'] = 'node';
-    $handler->display->display_options['arguments']['created_day']['field'] = 'created_day';
-    $handler->display->display_options['arguments']['created_day']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['created_day']['default_argument_type'] = 'fixed';
-    /* Argument: Content: Created month */
-    $handler->display->display_options['arguments']['created_month']['id'] = 'created_month';
-    $handler->display->display_options['arguments']['created_month']['table'] = 'node';
-    $handler->display->display_options['arguments']['created_month']['field'] = 'created_month';
-    $handler->display->display_options['arguments']['created_month']['style_plugin'] = 'default_summary';
-    $handler->display->display_options['arguments']['created_month']['default_argument_type'] = 'fixed';
-    /* Filter: Content: Nid */
-    $handler->display->display_options['filters']['nid']['id'] = 'nid';
-    $handler->display->display_options['filters']['nid']['table'] = 'node';
-    $handler->display->display_options['filters']['nid']['field'] = 'nid';
-    /* Filter: Content: Published */
-    $handler->display->display_options['filters']['status']['id'] = 'status';
-    $handler->display->display_options['filters']['status']['table'] = 'node';
-    $handler->display->display_options['filters']['status']['field'] = 'status';
-    /* Filter: Content: Title */
-    $handler->display->display_options['filters']['title']['id'] = 'title';
-    $handler->display->display_options['filters']['title']['table'] = 'node';
-    $handler->display->display_options['filters']['title']['field'] = 'title';
-
-    /* Display: Page */
-    $handler = $view->newDisplay('page', 'Page', 'page_1');
-    $handler->display->display_options['path'] = 'test_destroy';
-
-    /* Display: Attachment */
-    $handler = $view->newDisplay('attachment', 'Attachment', 'attachment_1');
-    $handler->display->display_options['pager']['type'] = 'some';
-    $handler->display->display_options['displays'] = array(
-      'default' => 'default',
-      'page_1' => 'page_1',
-    );
-
-    /* Display: Attachment */
-    $handler = $view->newDisplay('attachment', 'Attachment', 'attachment_2');
-    $handler->display->display_options['pager']['type'] = 'some';
-    $handler->display->display_options['displays'] = array(
-      'default' => 'default',
-      'page_1' => 'page_1',
-    );
-    $translatables['test_destroy'] = array(
-      t('Master'),
-      t('more'),
-      t('Apply'),
-      t('Reset'),
-      t('Sort By'),
-      t('Asc'),
-      t('Desc'),
-      t('Items per page'),
-      t('- All -'),
-      t('Offset'),
-      t('Text area'),
-      t('Content'),
-      t('Parent comment'),
-      t('User'),
-      t('Nid'),
-      t('Path'),
-      t('Post date'),
-      t('All'),
-      t('Page'),
-      t('Attachment'),
-    );
-
-    return $view;
+    return $this->createViewFromConfig('test_destroy');
   }
-  function view_test_delete() {
-    $view = new View(array(), 'view');
-    $view->name = 'test_view_delete';
-    $view->description = '';
-    $view->tag = '';
-    $view->base_table = 'node';
-    $view->human_name = 'test_view_delete';
-    $view->core = 8;
-    $view->api_version = '3.0';
-    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
 
-    /* Display: Defaults */
-    $handler = $view->newDisplay('default', 'Defaults', 'default');
-    $handler->display->display_options['access']['type'] = 'none';
-    $handler->display->display_options['cache']['type'] = 'none';
-    $handler->display->display_options['query']['type'] = 'views_query';
-    $handler->display->display_options['exposed_form']['type'] = 'basic';
-    $handler->display->display_options['pager']['type'] = 'full';
-    $handler->display->display_options['style_plugin'] = 'default';
-    $handler->display->display_options['row_plugin'] = 'fields';
-    $translatables['test_view_delete'] = array(
-      t('Defaults'),
-      t('more'),
-      t('Apply'),
-      t('Reset'),
-      t('Sort By'),
-      t('Asc'),
-      t('Desc'),
-      t('Items per page'),
-      t('- All -'),
-      t('Offset'),
-    );
-
-    return $view;
+  function view_test_delete() {
+    return $this->createViewFromConfig('test_view_delete');
   }
 
 }
diff --git a/lib/Drupal/views/Tests/ViewTestBase.php b/lib/Drupal/views/Tests/ViewTestBase.php
index caceaf1..42264c6 100644
--- a/lib/Drupal/views/Tests/ViewTestBase.php
+++ b/lib/Drupal/views/Tests/ViewTestBase.php
@@ -6,7 +6,6 @@
 
 namespace Drupal\views\Tests;
 use Drupal\simpletest\WebTestBase;
-use Drupal\views\View;
 
 /**
  * Abstract class for views testing.
@@ -41,7 +40,7 @@ protected function enableViewsTestModule() {
     variable_set('views_test_schema', $this->schemaDefinition());
     variable_set('views_test_views_data', $this->viewsData());
 
-    module_enable(array('views_test'));
+    module_enable(array('views_test_data'));
     $this->resetAll();
 
     // Load the test dataset.
@@ -382,51 +381,24 @@ protected function dataSet() {
    * @return Drupal\views\View
    */
   protected function getBasicView() {
-    // Create the basic view.
-    $view = new View(array(), 'view');
-    $view->name = 'test_view';
-    $view->addDisplay('default');
-    $view->base_table = 'views_test';
-
-    // Set up the fields we need.
-    $display = $view->newDisplay('default', 'Master', 'default');
-    $display->overrideOption('fields', array(
-      'id' => array(
-        'id' => 'id',
-        'table' => 'views_test',
-        'field' => 'id',
-        'relationship' => 'none',
-      ),
-      'name' => array(
-        'id' => 'name',
-        'table' => 'views_test',
-        'field' => 'name',
-        'relationship' => 'none',
-      ),
-      'age' => array(
-        'id' => 'age',
-        'table' => 'views_test',
-        'field' => 'age',
-        'relationship' => 'none',
-      ),
-    ));
-
-    // Set up the sort order.
-    $display->overrideOption('sorts', array(
-      'id' => array(
-        'order' => 'ASC',
-        'id' => 'id',
-        'table' => 'views_test',
-        'field' => 'id',
-        'relationship' => 'none',
-      ),
-    ));
+    return $this->createViewFromConfig('test_view');
+  }
+
+  /**
+   * Creates a new View instance by creating directly from config data.
+   *
+   * @param string $view_name
+   *   The name of the test view to create.
+   *
+   * @return Drupal\views\View
+   *   A View instance.
+   */
+  protected function createViewFromConfig($view_name) {
+    module_enable(array('views_test_config'));
+    $data = config("views.view.$view_name")->get();
 
-    // Set up the pager.
-    $display->overrideOption('pager', array(
-      'type' => 'none',
-      'options' => array('offset' => 0),
-    ));
+    $view = entity_create('view', $data);
+    $view->initDisplay();
 
     return $view;
   }
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_access_dynamic.yml
similarity index 61%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_access_dynamic.yml
index d9d4c11..87754f6 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_access_dynamic.yml
@@ -7,19 +7,26 @@ display:
     default:
         display_options:
             access:
-                type: none
+                type: test_dynamic
             cache:
                 type: none
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+    page_1:
+        display_options:
+            path: test_access_dynamic
+        display_plugin: page
+        display_title: Page
+        id: page_1
+        position: '0'
+human_name: ''
+name: test_access_dynamic
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_access_none.yml
similarity index 86%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_access_none.yml
index d9d4c11..1ed0796 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_access_none.yml
@@ -13,13 +13,13 @@ display:
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_access_none
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_access_perm.yml
similarity index 75%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_access_perm.yml
index d9d4c11..f67edb1 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_access_perm.yml
@@ -7,19 +7,20 @@ display:
     default:
         display_options:
             access:
-                type: none
+                perm: 'views_test test permission'
+                type: perm
             cache:
                 type: none
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_access_perm
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_access_role.yml
similarity index 81%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_access_role.yml
index d9d4c11..c2da0f5 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_access_role.yml
@@ -7,19 +7,19 @@ display:
     default:
         display_options:
             access:
-                type: none
+                type: role
             cache:
                 type: none
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_access_role
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_access_static.yml
similarity index 61%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_access_static.yml
index d9d4c11..d32bb76 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_access_static.yml
@@ -7,19 +7,26 @@ display:
     default:
         display_options:
             access:
-                type: none
+                type: test_static
             cache:
                 type: none
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+    page_1:
+        display_options:
+            path: test_access_static
+        display_plugin: page
+        display_title: Page
+        id: page_1
+        position: '0'
+human_name: ''
+name: test_access_static
 tag: ''
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_aggregate_count.yml
similarity index 67%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_aggregate_count.yml
index 9e589ee..19cc0f3 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_aggregate_count.yml
@@ -9,17 +9,20 @@ display:
             access:
                 type: none
             arguments:
-                uid:
-                    default_action: default
-                    field: uid
-                    id: uid
+                type:
+                    default_action: summary
+                    default_argument_type: fixed
+                    field: type
+                    id: type
+                    summary:
+                        format: default_summary
                     table: node
             cache:
                 type: none
             exposed_form:
                 type: basic
             fields:
-                title:
+                nid:
                     alter:
                         alter_text: '0'
                         ellipsis: '1'
@@ -31,21 +34,22 @@ display:
                     empty_zero: '0'
                     field: title
                     hide_empty: '0'
-                    id: title
+                    id: nid
                     link_to_node: '0'
                     table: node
+            group_by: '1'
             pager:
+                type: some
+            query:
                 options:
-                    id: '0'
-                    items_per_page: '10'
-                    offset: '0'
-                type: full
+                    query_comment: '0'
+                type: views_query
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
+human_name: ''
+name: test_aggregate_count
 tag: ''
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_argument_default_fixed.yml
similarity index 80%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_argument_default_fixed.yml
index 9e589ee..a59a923 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_argument_default_fixed.yml
@@ -9,11 +9,14 @@ display:
             access:
                 type: none
             arguments:
-                uid:
+                'null':
                     default_action: default
-                    field: uid
-                    id: uid
-                    table: node
+                    default_argument_type: fixed
+                    field: 'null'
+                    id: 'null'
+                    must_not_be: '0'
+                    style_plugin: default_summary
+                    table: views
             cache:
                 type: none
             exposed_form:
@@ -46,6 +49,6 @@ display:
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
+human_name: ''
+name: test_argument_default_fixed
 tag: ''
diff --git a/tests/views_test_config/config/views.view.test_comment_user_uid.yml b/tests/views_test_config/config/views.view.test_comment_user_uid.yml
new file mode 100644
index 0000000..c641af8
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_comment_user_uid.yml
@@ -0,0 +1,46 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            access:
+                type: perm
+            arguments:
+                uid_touch:
+                    default_argument_skip_url: '0'
+                    default_argument_type: fixed
+                    field: uid_touch
+                    id: uid_touch
+                    summary:
+                        format: default_summary
+                        number_of_records: '0'
+                    summary_options:
+                        items_per_page: '25'
+                    table: node
+            cache:
+                type: none
+            exposed_form:
+                type: basic
+            fields:
+                nid:
+                    field: nid
+                    id: nid
+                    table: node
+            pager:
+                type: full
+            query:
+                options:
+                    query_comment: '0'
+                type: views_query
+            row_plugin: node
+            style_plugin: default
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: test_comment_user_uid
+name: test_comment_user_uid
+tag: default
diff --git a/tests/views_test_config/config/views.view.test_destroy.yml b/tests/views_test_config/config/views.view.test_destroy.yml
new file mode 100644
index 0000000..5531420
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_destroy.yml
@@ -0,0 +1,156 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    attachment_1:
+        display_options:
+            displays:
+                default: default
+                page_1: page_1
+            pager:
+                type: some
+        display_plugin: attachment
+        display_title: Attachment
+        id: attachment_1
+        position: '0'
+    attachment_2:
+        display_options:
+            displays:
+                default: default
+                page_1: page_1
+            pager:
+                type: some
+        display_plugin: attachment
+        display_title: Attachment
+        id: attachment_2
+        position: '0'
+    default:
+        display_options:
+            access:
+                type: none
+            arguments:
+                created_day:
+                    default_argument_type: fixed
+                    field: created_day
+                    id: created_day
+                    style_plugin: default_summary
+                    table: node
+                created_fulldate:
+                    default_argument_type: fixed
+                    field: created_fulldate
+                    id: created_fulldate
+                    style_plugin: default_summary
+                    table: node
+                created_month:
+                    default_argument_type: fixed
+                    field: created_month
+                    id: created_month
+                    style_plugin: default_summary
+                    table: node
+            cache:
+                type: none
+            empty:
+                area:
+                    empty: '0'
+                    field: area
+                    id: area
+                    table: views
+                area_1:
+                    empty: '0'
+                    field: area
+                    id: area_1
+                    table: views
+            exposed_form:
+                type: basic
+            fields:
+                created:
+                    field: created
+                    id: created
+                    table: node
+                nid:
+                    field: nid
+                    id: nid
+                    table: node
+                path:
+                    field: path
+                    id: path
+                    table: node
+            filters:
+                nid:
+                    field: nid
+                    id: nid
+                    table: node
+                status:
+                    field: status
+                    id: status
+                    table: node
+                title:
+                    field: title
+                    id: title
+                    table: node
+            footer:
+                area:
+                    empty: '0'
+                    field: area
+                    id: area
+                    table: views
+                area_1:
+                    empty: '0'
+                    field: area
+                    id: area_1
+                    table: views
+            header:
+                area:
+                    empty: '0'
+                    field: area
+                    id: area
+                    table: views
+                area_1:
+                    empty: '0'
+                    field: area
+                    id: area_1
+                    table: views
+            pager:
+                type: full
+            query:
+                type: views_query
+            relationships:
+                nid:
+                    field: nid
+                    id: nid
+                    table: comments
+                pid:
+                    field: pid
+                    id: pid
+                    table: comments
+                uid:
+                    field: uid
+                    id: uid
+                    table: comments
+            row_plugin: fields
+            sorts:
+                last_comment_name:
+                    field: last_comment_name
+                    id: last_comment_name
+                    table: node_comment_statistics
+                last_comment_timestamp:
+                    field: last_comment_timestamp
+                    id: last_comment_timestamp
+                    table: node_comment_statistics
+            style_plugin: default
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+    page_1:
+        display_options:
+            path: test_destroy
+        display_plugin: page
+        display_title: Page
+        id: page_1
+        position: '0'
+human_name: ''
+name: test_destroy
+tag: ''
diff --git a/tests/views_test/config/views.view.test_filter_in_operator_ui.yml b/tests/views_test_config/config/views.view.test_filter_date_between.yml
similarity index 57%
copy from tests/views_test/config/views.view.test_filter_in_operator_ui.yml
copy to tests/views_test_config/config/views.view.test_filter_date_between.yml
index 99140dc..a2afce1 100644
--- a/tests/views_test/config/views.view.test_filter_in_operator_ui.yml
+++ b/tests/views_test_config/config/views.view.test_filter_date_between.yml
@@ -12,26 +12,28 @@ display:
                 type: none
             exposed_form:
                 type: basic
+            fields:
+                nid:
+                    field: nid
+                    id: nid
+                    table: node
             filters:
-                type:
-                    expose:
-                        identifier: type
-                        label: 'Content: Type'
-                        operator_id: type_op
-                        reduce: '0'
-                        use_operator: '0'
-                    exposed: '1'
-                    field: type
-                    id: type
+                created:
+                    field: created
+                    id: created
                     table: node
             pager:
                 type: full
+            query:
+                options:
+                    query_comment: '0'
+                type: views_query
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_filter_in_operator_ui
+human_name: ''
+name: test_filter_date_between
 tag: ''
diff --git a/tests/views_test/config/views.view.test_rename_reset_button.yml b/tests/views_test_config/config/views.view.test_filter_group_override.yml
similarity index 51%
copy from tests/views_test/config/views.view.test_rename_reset_button.yml
copy to tests/views_test_config/config/views.view.test_filter_group_override.yml
index 60266ce..2d2c7c6 100644
--- a/tests/views_test/config/views.view.test_rename_reset_button.yml
+++ b/tests/views_test_config/config/views.view.test_filter_group_override.yml
@@ -7,34 +7,34 @@ display:
     default:
         display_options:
             access:
-                type: none
+                type: perm
             cache:
                 type: none
             exposed_form:
-                options:
-                    reset_button: '1'
                 type: basic
+            fields:
+                title:
+                    alter:
+                        ellipsis: '0'
+                        word_boundary: '0'
+                    field: title
+                    id: title
+                    label: ''
+                    table: node
             filters:
-                type:
+                status:
                     expose:
-                        identifier: type
-                        label: 'Content: Type'
-                        operator_id: type_op
-                        reduce: '0'
-                    exposed: '1'
-                    field: type
-                    id: type
+                        operator: '0'
+                    field: status
+                    group: '1'
+                    id: status
                     table: node
+                    value: '1'
             pager:
                 type: full
             query:
-                options:
-                    query_comment: '0'
                 type: views_query
-            row_options:
-                comments: '0'
-                links: '1'
-            row_plugin: node
+            row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
@@ -42,11 +42,11 @@ display:
         position: '0'
     page_1:
         display_options:
-            path: test_rename_reset_button
+            path: test
         display_plugin: page
         display_title: Page
         id: page_1
         position: '0'
-human_name: ''
-name: test_rename_reset_button
-tag: ''
+human_name: test_filter_group_override
+name: test_filter_group_override
+tag: default
diff --git a/tests/views_test_config/config/views.view.test_filter_groups.yml b/tests/views_test_config/config/views.view.test_filter_groups.yml
new file mode 100644
index 0000000..52a4451
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_filter_groups.yml
@@ -0,0 +1,109 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            access:
+                type: perm
+            cache:
+                type: none
+            exposed_form:
+                type: basic
+            fields:
+                title:
+                    alter:
+                        ellipsis: '0'
+                        word_boundary: '0'
+                    field: title
+                    id: title
+                    label: ''
+                    table: node
+            filter_groups:
+                groups:
+                    1: AND
+                    2: AND
+            filters:
+                nid:
+                    field: nid
+                    group: '2'
+                    id: nid
+                    table: node
+                    value:
+                        value: '1'
+                nid_1:
+                    field: nid
+                    group: '2'
+                    id: nid_1
+                    table: node
+                    value:
+                        value: '2'
+                status:
+                    expose:
+                        operator: '0'
+                    field: status
+                    group: '1'
+                    id: status
+                    table: node
+                    value: '1'
+            pager:
+                options:
+                    items_per_page: '10'
+                type: full
+            query:
+                type: views_query
+            row_plugin: node
+            sorts:
+                created:
+                    field: created
+                    id: created
+                    order: DESC
+                    table: node
+            style_plugin: default
+            title: test_filter_groups
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+    page:
+        display_options:
+            defaults:
+                filters: '0'
+            filter_groups:
+                groups:
+                    1: OR
+                    2: OR
+                operator: OR
+            filters:
+                nid:
+                    field: nid
+                    group: '2'
+                    id: nid
+                    table: node
+                    value:
+                        value: '1'
+                nid_1:
+                    field: nid
+                    group: '2'
+                    id: nid_1
+                    table: node
+                    value:
+                        value: '2'
+                status:
+                    expose:
+                        operator: '0'
+                    field: status
+                    group: '1'
+                    id: status
+                    table: node
+                    value: '1'
+            path: test-filter-groups
+        display_plugin: page
+        display_title: Page
+        id: page
+        position: '0'
+human_name: test_filter_groups
+name: test_filter_groups
+tag: default
diff --git a/tests/views_test_config/config/views.view.test_glossary.yml b/tests/views_test_config/config/views.view.test_glossary.yml
new file mode 100644
index 0000000..9ba8a9e
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_glossary.yml
@@ -0,0 +1,46 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            access:
+                type: perm
+            arguments:
+                title:
+                    default_argument_type: fixed
+                    field: title
+                    glossary: '1'
+                    id: title
+                    limit: '1'
+                    summary:
+                        format: default_summary
+                        number_of_records: '0'
+                    summary_options:
+                        items_per_page: '25'
+                    table: node
+            cache:
+                type: none
+            exposed_form:
+                type: basic
+            fields:
+                title:
+                    field: title
+                    id: title
+                    label: ''
+                    table: node
+            pager:
+                type: full
+            query:
+                type: views_query
+            row_plugin: fields
+            style_plugin: default
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: test_glossary
+name: test_glossary
+tag: default
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_group_by_count.yml
similarity index 57%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_group_by_count.yml
index 9e589ee..3ad53dc 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_group_by_count.yml
@@ -8,18 +8,28 @@ display:
         display_options:
             access:
                 type: none
-            arguments:
-                uid:
-                    default_action: default
-                    field: uid
-                    id: uid
-                    table: node
             cache:
                 type: none
             exposed_form:
                 type: basic
             fields:
-                title:
+                nid:
+                    alter:
+                        alter_text: '0'
+                        ellipsis: '1'
+                        html: '0'
+                        make_link: '0'
+                        strip_tags: '0'
+                        trim: '0'
+                        word_boundary: '1'
+                    empty_zero: '0'
+                    field: nid
+                    group_type: {  }
+                    hide_empty: '0'
+                    id: nid
+                    link_to_node: '0'
+                    table: node
+                type:
                     alter:
                         alter_text: '0'
                         ellipsis: '1'
@@ -29,23 +39,20 @@ display:
                         trim: '0'
                         word_boundary: '1'
                     empty_zero: '0'
-                    field: title
+                    field: type
                     hide_empty: '0'
-                    id: title
+                    id: type
                     link_to_node: '0'
                     table: node
+            group_by: '1'
             pager:
-                options:
-                    id: '0'
-                    items_per_page: '10'
-                    offset: '0'
-                type: full
+                type: some
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
+human_name: ''
+name: test_group_by_count
 tag: ''
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_group_by_in_filters.yml
similarity index 68%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_group_by_in_filters.yml
index 9e589ee..b32133f 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_group_by_in_filters.yml
@@ -8,18 +8,12 @@ display:
         display_options:
             access:
                 type: none
-            arguments:
-                uid:
-                    default_action: default
-                    field: uid
-                    id: uid
-                    table: node
             cache:
                 type: none
             exposed_form:
                 type: basic
             fields:
-                title:
+                type:
                     alter:
                         alter_text: '0'
                         ellipsis: '1'
@@ -29,23 +23,29 @@ display:
                         trim: '0'
                         word_boundary: '1'
                     empty_zero: '0'
-                    field: title
+                    field: type
                     hide_empty: '0'
-                    id: title
+                    id: type
                     link_to_node: '0'
                     table: node
+            filters:
+                nid:
+                    field: nid
+                    group_type: count
+                    id: nid
+                    operator: '>'
+                    table: node
+                    value:
+                        value: '3'
+            group_by: '1'
             pager:
-                options:
-                    id: '0'
-                    items_per_page: '10'
-                    offset: '0'
-                type: full
+                type: some
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
+human_name: ''
+name: test_group_by_in_filters
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_pager_full.yml
similarity index 66%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_pager_full.yml
index d9d4c11..32c1093 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_pager_full.yml
@@ -13,13 +13,17 @@ display:
             exposed_form:
                 type: basic
             pager:
-                type: none
-            row_plugin: fields
+                options:
+                    id: '0'
+                    items_per_page: '5'
+                    offset: '0'
+                type: full
+            row_plugin: node
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_pager_full
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_pager_none.yml
similarity index 85%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_pager_none.yml
index d9d4c11..6826816 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_pager_none.yml
@@ -14,12 +14,12 @@ display:
                 type: basic
             pager:
                 type: none
-            row_plugin: fields
+            row_plugin: node
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_pager_none
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_pager_some.yml
similarity index 69%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_pager_some.yml
index d9d4c11..ac44377 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_pager_some.yml
@@ -13,13 +13,16 @@ display:
             exposed_form:
                 type: basic
             pager:
-                type: none
-            row_plugin: fields
+                options:
+                    items_per_page: '5'
+                    offset: '0'
+                type: some
+            row_plugin: node
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_pager_some
 tag: ''
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_plugin_argument_default_current_user.yml
similarity index 78%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_plugin_argument_default_current_user.yml
index 9e589ee..302b4a8 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_plugin_argument_default_current_user.yml
@@ -9,11 +9,14 @@ display:
             access:
                 type: none
             arguments:
-                uid:
+                'null':
                     default_action: default
-                    field: uid
-                    id: uid
-                    table: node
+                    default_argument_type: current_user
+                    field: 'null'
+                    id: 'null'
+                    must_not_be: '0'
+                    style_plugin: default_summary
+                    table: views
             cache:
                 type: none
             exposed_form:
@@ -46,6 +49,6 @@ display:
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
+human_name: ''
+name: test_plugin_argument_default_current_user
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_store_pager_settings.yml
similarity index 85%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_store_pager_settings.yml
index d9d4c11..d7f9b33 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_store_pager_settings.yml
@@ -14,12 +14,12 @@ display:
                 type: basic
             pager:
                 type: none
-            row_plugin: fields
+            row_plugin: node
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_store_pager_settings
 tag: ''
diff --git a/tests/views_test_config/config/views.view.test_taxonomy_node_term_data.yml b/tests/views_test_config/config/views.view.test_taxonomy_node_term_data.yml
new file mode 100644
index 0000000..0c3b897
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_taxonomy_node_term_data.yml
@@ -0,0 +1,65 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            access:
+                type: perm
+            arguments:
+                tid:
+                    default_argument_type: fixed
+                    field: tid
+                    id: tid
+                    relationship: term_node_tid
+                    summary:
+                        format: default_summary
+                        number_of_records: '0'
+                    summary_options:
+                        items_per_page: '25'
+                    table: taxonomy_term_data
+                tid_1:
+                    default_argument_type: fixed
+                    field: tid
+                    id: tid_1
+                    relationship: term_node_tid_1
+                    summary:
+                        format: default_summary
+                        number_of_records: '0'
+                    summary_options:
+                        items_per_page: '25'
+                    table: taxonomy_term_data
+            cache:
+                type: none
+            exposed_form:
+                type: basic
+            pager:
+                type: full
+            query:
+                type: views_query
+            relationships:
+                term_node_tid:
+                    field: term_node_tid
+                    id: term_node_tid
+                    label: 'Term #1'
+                    table: node
+                    vocabularies:
+                        tags: '0'
+                term_node_tid_1:
+                    field: term_node_tid
+                    id: term_node_tid_1
+                    label: 'Term #2'
+                    table: node
+                    vocabularies:
+                        tags: '0'
+            row_plugin: node
+            style_plugin: default
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: test_taxonomy_node_term_data
+name: test_taxonomy_node_term_data
+tag: ''
diff --git a/tests/views_test_config/config/views.view.test_user_relationship.yml b/tests/views_test_config/config/views.view.test_user_relationship.yml
new file mode 100644
index 0000000..e37718a
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_user_relationship.yml
@@ -0,0 +1,100 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            access:
+                type: perm
+            cache:
+                type: none
+            exposed_form:
+                type: basic
+            fields:
+                name:
+                    alter:
+                        absolute: '0'
+                        alter_text: '0'
+                        ellipsis: '1'
+                        external: '0'
+                        html: '0'
+                        make_link: '0'
+                        nl2br: '0'
+                        replace_spaces: '0'
+                        strip_tags: '0'
+                        trim: '0'
+                        trim_whitespace: '0'
+                        word_boundary: '1'
+                    element_default_classes: '1'
+                    element_label_colon: '1'
+                    empty_zero: '0'
+                    field: name
+                    hide_alter_empty: '0'
+                    hide_empty: '0'
+                    id: name
+                    link_to_user: '1'
+                    overwrite_anonymous: '0'
+                    table: users
+                title:
+                    alter:
+                        absolute: '0'
+                        alter_text: '0'
+                        ellipsis: '0'
+                        html: '0'
+                        make_link: '0'
+                        strip_tags: '0'
+                        trim: '0'
+                        word_boundary: '0'
+                    empty_zero: '0'
+                    field: title
+                    hide_empty: '0'
+                    id: title
+                    label: ''
+                    link_to_node: '1'
+                    table: node
+                uid:
+                    alter:
+                        absolute: '0'
+                        alter_text: '0'
+                        ellipsis: '1'
+                        external: '0'
+                        html: '0'
+                        make_link: '0'
+                        nl2br: '0'
+                        replace_spaces: '0'
+                        strip_tags: '0'
+                        trim: '0'
+                        trim_whitespace: '0'
+                        word_boundary: '1'
+                    element_default_classes: '1'
+                    element_label_colon: '1'
+                    empty_zero: '0'
+                    field: uid
+                    hide_alter_empty: '0'
+                    hide_empty: '0'
+                    id: uid
+                    link_to_user: '1'
+                    table: users
+            pager:
+                options:
+                    items_per_page: '10'
+                type: full
+            query:
+                options:
+                    query_comment: '0'
+                type: views_query
+            row_options:
+                default_field_elements: '1'
+                hide_empty: '0'
+            row_plugin: fields
+            style_plugin: default
+            title: test_user_relationship
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: test_user_relationship
+name: test_user_relationship
+tag: default
diff --git a/tests/views_test_config/config/views.view.test_view.yml b/tests/views_test_config/config/views.view.test_view.yml
new file mode 100644
index 0000000..6cc54df
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_view.yml
@@ -0,0 +1,48 @@
+api_version: {  }
+base_table: views_test
+core: '8'
+description: {  }
+disabled: {  }
+display:
+    default:
+        display_options:
+            defaults:
+                fields: '0'
+                pager: '0'
+                pager_options: '0'
+                sorts: '0'
+            fields:
+                age:
+                    field: age
+                    id: age
+                    relationship: none
+                    table: views_test
+                id:
+                    field: id
+                    id: id
+                    relationship: none
+                    table: views_test
+                name:
+                    field: name
+                    id: name
+                    relationship: none
+                    table: views_test
+            pager:
+                options:
+                    offset: '0'
+                type: none
+            pager_options: {  }
+            sorts:
+                id:
+                    field: id
+                    id: id
+                    order: ASC
+                    relationship: none
+                    table: views_test
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: ''
+name: test_view
+tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_view_argument_validate_numeric.yml
similarity index 52%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_view_argument_validate_numeric.yml
index d9d4c11..477cc22 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_view_argument_validate_numeric.yml
@@ -8,18 +8,28 @@ display:
         display_options:
             access:
                 type: none
+            arguments:
+                'null':
+                    default_argument_type: fixed
+                    field: 'null'
+                    id: 'null'
+                    must_not_be: '0'
+                    style_plugin: default_summary
+                    table: views
+                    validate:
+                        type: php
             cache:
                 type: none
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_view_argument_validate_numeric
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_view_argument_validate_user.yml
similarity index 52%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_view_argument_validate_user.yml
index d9d4c11..fecba82 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_view_argument_validate_user.yml
@@ -8,18 +8,28 @@ display:
         display_options:
             access:
                 type: none
+            arguments:
+                'null':
+                    default_argument_type: fixed
+                    field: 'null'
+                    id: 'null'
+                    must_not_be: '0'
+                    style_plugin: default_summary
+                    table: views
+                    validate:
+                        type: user
             cache:
                 type: none
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: ''
+name: test_view_argument_validate_user
 tag: ''
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_config/config/views.view.test_view_delete.yml
similarity index 72%
copy from tests/views_test/config/views.view.test_views_groupby_save.yml
copy to tests/views_test_config/config/views.view.test_view_delete.yml
index d9d4c11..ea6dd9e 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_config/config/views.view.test_view_delete.yml
@@ -13,13 +13,15 @@ display:
             exposed_form:
                 type: basic
             pager:
-                type: none
+                type: full
+            query:
+                type: views_query
             row_plugin: fields
             style_plugin: default
         display_plugin: default
-        display_title: Master
+        display_title: Defaults
         id: default
         position: '0'
-human_name: {  }
-name: test_views_groupby_save
+human_name: test_view_delete
+name: test_view_delete
 tag: ''
diff --git a/tests/views_test/config/views.view.test_filter_in_operator_ui.yml b/tests/views_test_config/config/views.view.test_view_fieldapi.yml
similarity index 51%
copy from tests/views_test/config/views.view.test_filter_in_operator_ui.yml
copy to tests/views_test_config/config/views.view.test_view_fieldapi.yml
index 99140dc..d82dab1 100644
--- a/tests/views_test/config/views.view.test_filter_in_operator_ui.yml
+++ b/tests/views_test_config/config/views.view.test_view_fieldapi.yml
@@ -7,31 +7,32 @@ display:
     default:
         display_options:
             access:
-                type: none
+                type: perm
+            fields:
+                nid:
+                    field: nid
+                    id: nid
+                    table: node
             cache:
                 type: none
             exposed_form:
                 type: basic
-            filters:
-                type:
-                    expose:
-                        identifier: type
-                        label: 'Content: Type'
-                        operator_id: type_op
-                        reduce: '0'
-                        use_operator: '0'
-                    exposed: '1'
-                    field: type
-                    id: type
+            fields:
+                nid:
+                    field: nid
+                    id: nid
                     table: node
             pager:
                 type: full
+            query:
+                type: views_query
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_filter_in_operator_ui
-tag: ''
+human_name: test_view_fieldapi
+name: test_view_fieldapi
+tag: default
+
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_view_pager_full_zero_items_per_page.yml
similarity index 80%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_view_pager_full_zero_items_per_page.yml
index 9e589ee..a8149c8 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_view_pager_full_zero_items_per_page.yml
@@ -8,12 +8,6 @@ display:
         display_options:
             access:
                 type: none
-            arguments:
-                uid:
-                    default_action: default
-                    field: uid
-                    id: uid
-                    table: node
             cache:
                 type: none
             exposed_form:
@@ -37,7 +31,7 @@ display:
             pager:
                 options:
                     id: '0'
-                    items_per_page: '10'
+                    items_per_page: '0'
                     offset: '0'
                 type: full
             row_plugin: fields
@@ -46,6 +40,6 @@ display:
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
+human_name: ''
+name: test_view_pager_full_zero_items_per_page
 tag: ''
diff --git a/tests/views_test_config/config/views.view.test_view_unpack_translatable.yml b/tests/views_test_config/config/views.view.test_view_unpack_translatable.yml
new file mode 100644
index 0000000..1c38165
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_view_unpack_translatable.yml
@@ -0,0 +1,80 @@
+api_version: '3.0'
+base_table: node
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            access:
+                type: none
+            cache:
+                type: none
+            exposed_form:
+                options:
+                    exposed_sorts_label: 'Sort By1'
+                    reset_button: '1'
+                    reset_button_label: Reset1
+                    sort_asc_label: Asc1
+                    sort_desc_label: Desc1
+                    submit_button: Apply1
+                type: basic
+            fields:
+                nid:
+                    alter:
+                        alter_text: '0'
+                        ellipsis: '1'
+                        html: '0'
+                        make_link: '0'
+                        strip_tags: '0'
+                        trim: '0'
+                        word_boundary: '1'
+                    empty_zero: '0'
+                    field: nid
+                    hide_empty: '0'
+                    id: nid
+                    label: fieldlabel1
+                    link_to_node: '0'
+                    table: node
+            filters:
+                nid:
+                    expose:
+                        identifier: nid
+                        label: filterlabel1
+                        multiple: '1'
+                        operator_id: nid_op
+                        reduce: '0'
+                    exposed: '1'
+                    field: nid
+                    id: nid
+                    table: node
+            pager:
+                options:
+                    expose:
+                        items_per_page: '1'
+                        items_per_page_label: 'Items per page1'
+                        offset: '1'
+                        offset_label: Offset1
+                    id: '0'
+                    items_per_page: '10'
+                    offset: '0'
+                    quantity: '9'
+                    tags:
+                        first: 'Tag first1'
+                        last: 'Tag last1'
+                        next: 'Tag next1'
+                        previous: 'Tag prev1'
+                type: full
+            query:
+                type: views_query
+            row_plugin: fields
+            style_plugin: default
+            title: title1
+            use_more_text: more1
+        display_plugin: default
+        display_title: Master1
+        id: default
+        position: '0'
+human_name: ''
+name: test_view_unpack_translatable
+tag: ''
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_config/config/views.view.test_views_handler_field_user_name.yml
similarity index 57%
copy from tests/views_test/config/views.view.test_argument_default_current_user.yml
copy to tests/views_test_config/config/views.view.test_views_handler_field_user_name.yml
index 9e589ee..a3dd693 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_config/config/views.view.test_views_handler_field_user_name.yml
@@ -1,5 +1,5 @@
 api_version: '3.0'
-base_table: node
+base_table: users
 core: '8'
 description: ''
 disabled: '0'
@@ -8,44 +8,41 @@ display:
         display_options:
             access:
                 type: none
-            arguments:
-                uid:
-                    default_action: default
-                    field: uid
-                    id: uid
-                    table: node
             cache:
                 type: none
             exposed_form:
                 type: basic
             fields:
-                title:
+                name:
                     alter:
+                        absolute: '0'
                         alter_text: '0'
-                        ellipsis: '1'
+                        ellipsis: '0'
                         html: '0'
                         make_link: '0'
                         strip_tags: '0'
                         trim: '0'
-                        word_boundary: '1'
+                        word_boundary: '0'
                     empty_zero: '0'
-                    field: title
+                    field: name
                     hide_empty: '0'
-                    id: title
-                    link_to_node: '0'
-                    table: node
+                    id: name
+                    label: ''
+                    link_to_user: '1'
+                    overwrite_anonymous: '0'
+                    table: users
             pager:
-                options:
-                    id: '0'
-                    items_per_page: '10'
-                    offset: '0'
                 type: full
+            query:
+                options:
+                    query_comment: '0'
+                type: views_query
             row_plugin: fields
             style_plugin: default
         display_plugin: default
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
-name: test_argument_default_current_user
-tag: ''
+human_name: test_views_handler_field_user_name
+name: test_views_handler_field_user_name
+tag: default
diff --git a/tests/views_test_config/config/views.view.test_views_move_to_field.yml b/tests/views_test_config/config/views.view.test_views_move_to_field.yml
new file mode 100644
index 0000000..6d8509a
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_views_move_to_field.yml
@@ -0,0 +1,20 @@
+api_version: '3.0'
+base_table: views_test
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            fields:
+                old_field_1:
+                    field: old_field_1
+                    id: old_field_1
+                    table: views_test
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: ''
+name: test_views_move_to_field
+tag: ''
diff --git a/tests/views_test_config/config/views.view.test_views_move_to_handler.yml b/tests/views_test_config/config/views.view.test_views_move_to_handler.yml
new file mode 100644
index 0000000..b33937e
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_views_move_to_handler.yml
@@ -0,0 +1,25 @@
+api_version: '3.0'
+base_table: views_test
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            fields:
+                old_field_2:
+                    field: old_field_2
+                    id: old_field_2
+                    table: views_test
+            filters:
+                old_field_3:
+                    field: old_field_3
+                    id: old_field_3
+                    table: views_test
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: ''
+name: test_views_move_to_handler
+tag: ''
diff --git a/tests/views_test_config/config/views.view.test_views_move_to_table.yml b/tests/views_test_config/config/views.view.test_views_move_to_table.yml
new file mode 100644
index 0000000..2a2637a
--- /dev/null
+++ b/tests/views_test_config/config/views.view.test_views_move_to_table.yml
@@ -0,0 +1,20 @@
+api_version: '3.0'
+base_table: views_old_table
+core: '8'
+description: ''
+disabled: '0'
+display:
+    default:
+        display_options:
+            fields:
+                id:
+                    field: id
+                    id: id
+                    table: views_old_table
+        display_plugin: default
+        display_title: Master
+        id: default
+        position: '0'
+human_name: ''
+name: test_views_move_to_table
+tag: ''
diff --git a/tests/views_test_config/views_test_config.info b/tests/views_test_config/views_test_config.info
new file mode 100644
index 0000000..4edbb1f
--- /dev/null
+++ b/tests/views_test_config/views_test_config.info
@@ -0,0 +1,3 @@
+name = Views Test Config
+description = Provides default views for tests.
+core = 8.x
diff --git a/tests/views_test_config/views_test_config.module b/tests/views_test_config/views_test_config.module
new file mode 100644
index 0000000..b3d9bbc
--- /dev/null
+++ b/tests/views_test_config/views_test_config.module
@@ -0,0 +1 @@
+<?php
diff --git a/tests/views_test/config/views.view.test_argument_default_current_user.yml b/tests/views_test_data/config/views.view.test_argument_default_current_user.yml
similarity index 98%
rename from tests/views_test/config/views.view.test_argument_default_current_user.yml
rename to tests/views_test_data/config/views.view.test_argument_default_current_user.yml
index 9e589ee..6ab4fa4 100644
--- a/tests/views_test/config/views.view.test_argument_default_current_user.yml
+++ b/tests/views_test_data/config/views.view.test_argument_default_current_user.yml
@@ -46,6 +46,6 @@ display:
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
+human_name: ''
 name: test_argument_default_current_user
 tag: ''
diff --git a/tests/views_test/config/views.view.test_exposed_admin_ui.yml b/tests/views_test_data/config/views.view.test_exposed_admin_ui.yml
similarity index 98%
rename from tests/views_test/config/views.view.test_exposed_admin_ui.yml
rename to tests/views_test_data/config/views.view.test_exposed_admin_ui.yml
index 22bb89f..3ec858e 100644
--- a/tests/views_test/config/views.view.test_exposed_admin_ui.yml
+++ b/tests/views_test_data/config/views.view.test_exposed_admin_ui.yml
@@ -46,6 +46,6 @@ display:
         display_title: Page
         id: page_1
         position: '0'
-human_name: {  }
+human_name: ''
 name: test_exposed_admin_ui
 tag: ''
diff --git a/tests/views_test/config/views.view.test_filter_in_operator_ui.yml b/tests/views_test_data/config/views.view.test_filter_in_operator_ui.yml
similarity index 98%
rename from tests/views_test/config/views.view.test_filter_in_operator_ui.yml
rename to tests/views_test_data/config/views.view.test_filter_in_operator_ui.yml
index 99140dc..cb20dbf 100644
--- a/tests/views_test/config/views.view.test_filter_in_operator_ui.yml
+++ b/tests/views_test_data/config/views.view.test_filter_in_operator_ui.yml
@@ -32,6 +32,6 @@ display:
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
+human_name: ''
 name: test_filter_in_operator_ui
 tag: ''
diff --git a/tests/views_test/config/views.view.test_page_display.yml b/tests/views_test_data/config/views.view.test_page_display.yml
similarity index 96%
rename from tests/views_test/config/views.view.test_page_display.yml
rename to tests/views_test_data/config/views.view.test_page_display.yml
index d80c27e..dfd68ff 100644
--- a/tests/views_test/config/views.view.test_page_display.yml
+++ b/tests/views_test_data/config/views.view.test_page_display.yml
@@ -28,6 +28,6 @@ display:
         display_title: Page
         id: page_2
         position: '0'
-human_name: {  }
+human_name: ''
 name: test_page_display
-tag: ''
\ No newline at end of file
+tag: ''
diff --git a/tests/views_test/config/views.view.test_rename_reset_button.yml b/tests/views_test_data/config/views.view.test_rename_reset_button.yml
similarity index 100%
rename from tests/views_test/config/views.view.test_rename_reset_button.yml
rename to tests/views_test_data/config/views.view.test_rename_reset_button.yml
diff --git a/tests/views_test/config/views.view.test_views_groupby_save.yml b/tests/views_test_data/config/views.view.test_views_groupby_save.yml
similarity index 96%
rename from tests/views_test/config/views.view.test_views_groupby_save.yml
rename to tests/views_test_data/config/views.view.test_views_groupby_save.yml
index d9d4c11..b38261b 100644
--- a/tests/views_test/config/views.view.test_views_groupby_save.yml
+++ b/tests/views_test_data/config/views.view.test_views_groupby_save.yml
@@ -20,6 +20,6 @@ display:
         display_title: Master
         id: default
         position: '0'
-human_name: {  }
+human_name: ''
 name: test_views_groupby_save
 tag: ''
diff --git a/tests/views_test/lib/Drupal/views_test/Plugin/views/access/DynamicTest.php b/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/DynamicTest.php
similarity index 80%
rename from tests/views_test/lib/Drupal/views_test/Plugin/views/access/DynamicTest.php
rename to tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/DynamicTest.php
index 7466615..1704661 100644
--- a/tests/views_test/lib/Drupal/views_test/Plugin/views/access/DynamicTest.php
+++ b/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/DynamicTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Definition of Drupal\views_test\Plugin\views\access\DynamicTest.
+ * Definition of Drupal\views_test_data\Plugin\views\access\DynamicTest.
  */
 
-namespace Drupal\views_test\Plugin\views\access;
+namespace Drupal\views_test_data\Plugin\views\access;
 
 use Drupal\Core\Annotation\Plugin;
 use Drupal\Core\Annotation\Translation;
@@ -34,7 +34,7 @@ public function access($account) {
   }
 
   function get_access_callback() {
-    return array('views_test_test_dynamic_access_callback', array(!empty($options['access']), 1, 2));
+    return array('views_test_data_test_dynamic_access_callback', array(!empty($options['access']), 1, 2));
   }
 
 }
diff --git a/tests/views_test/lib/Drupal/views_test/Plugin/views/access/StaticTest.php b/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/StaticTest.php
similarity index 75%
rename from tests/views_test/lib/Drupal/views_test/Plugin/views/access/StaticTest.php
rename to tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/StaticTest.php
index 61ea392..5f5770c 100644
--- a/tests/views_test/lib/Drupal/views_test/Plugin/views/access/StaticTest.php
+++ b/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/StaticTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Definition of Drupal\views_test\Plugin\views\access\StaticTest.
+ * Definition of Drupal\views_test_data\Plugin\views\access\StaticTest.
  */
 
-namespace Drupal\views_test\Plugin\views\access;
+namespace Drupal\views_test_data\Plugin\views\access;
 
 use Drupal\Core\Annotation\Plugin;
 use Drupal\Core\Annotation\Translation;
@@ -34,7 +34,7 @@ public function access($account) {
   }
 
   function get_access_callback() {
-    return array('views_test_test_static_access_callback', array(!empty($options['access'])));
+    return array('views_test_data_test_static_access_callback', array(!empty($options['access'])));
   }
 
 }
diff --git a/tests/views_test/lib/Drupal/views_test/Plugin/views/localization/LocalizationTest.php b/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/localization/LocalizationTest.php
similarity index 88%
rename from tests/views_test/lib/Drupal/views_test/Plugin/views/localization/LocalizationTest.php
rename to tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/localization/LocalizationTest.php
index 1cdb9fa..ce427dd 100644
--- a/tests/views_test/lib/Drupal/views_test/Plugin/views/localization/LocalizationTest.php
+++ b/tests/views_test_data/lib/Drupal/views_test_data/Plugin/views/localization/LocalizationTest.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Definition of Drupal\views_test\Plugin\views\localization\LocalizationTest.
+ * Definition of Drupal\views_test_data\Plugin\views\localization\LocalizationTest.
  */
 
-namespace Drupal\views_test\Plugin\views\localization;
+namespace Drupal\views_test_data\Plugin\views\localization;
 
 use Drupal\Core\Annotation\Plugin;
 use Drupal\Core\Annotation\Translation;
diff --git a/tests/views_test/templates/views-view--frontpage.tpl.php b/tests/views_test_data/templates/views-view--frontpage.tpl.php
similarity index 100%
rename from tests/views_test/templates/views-view--frontpage.tpl.php
rename to tests/views_test_data/templates/views-view--frontpage.tpl.php
diff --git a/tests/views_test/views_cache.test.css b/tests/views_test_data/views_cache.test.css
similarity index 100%
rename from tests/views_test/views_cache.test.css
rename to tests/views_test_data/views_cache.test.css
diff --git a/tests/views_test/views_cache.test.js b/tests/views_test_data/views_cache.test.js
similarity index 100%
rename from tests/views_test/views_cache.test.js
rename to tests/views_test_data/views_cache.test.js
diff --git a/tests/views_test/views_test.info b/tests/views_test_data/views_test_data.info
similarity index 100%
rename from tests/views_test/views_test.info
rename to tests/views_test_data/views_test_data.info
diff --git a/tests/views_test/views_test.install b/tests/views_test_data/views_test_data.install
similarity index 83%
rename from tests/views_test/views_test.install
rename to tests/views_test_data/views_test_data.install
index b0ccd8b..c4153cf 100644
--- a/tests/views_test/views_test.install
+++ b/tests/views_test_data/views_test_data.install
@@ -8,6 +8,6 @@
 /**
  * Implements hook_schema().
  */
-function views_test_schema() {
+function views_test_data_schema() {
   return variable_get('views_test_schema', array());
 }
diff --git a/tests/views_test/views_test.module b/tests/views_test_data/views_test_data.module
similarity index 73%
rename from tests/views_test/views_test.module
rename to tests/views_test_data/views_test_data.module
index 0eebad7..801c7be 100644
--- a/tests/views_test/views_test.module
+++ b/tests/views_test_data/views_test_data.module
@@ -5,10 +5,12 @@
  * Helper module for Views tests.
  */
 
+use Drupal\views\View;
+
 /**
  * Implements hook_permission().
  */
-function views_test_permission() {
+function views_test_data_permission() {
   return array(
     'views_test test permission' => array(
       'title' => t('Test permission'),
@@ -20,7 +22,7 @@ function views_test_permission() {
 /**
  * Implements hook_views_api().
  */
-function views_test_views_api() {
+function views_test_data_views_api() {
   return array(
     'api' => 3.0,
     'template path' => drupal_get_path('module', 'views_test') . '/templates',
@@ -30,22 +32,22 @@ function views_test_views_api() {
 /**
  * Implements hook_views_data().
  */
-function views_test_views_data() {
-  return  variable_get('views_test_views_data', array());
+function views_test_data_views_data() {
+  return variable_get('views_test_views_data', array());
 }
 
-function views_test_test_static_access_callback($access) {
+function views_test_data_test_static_access_callback($access) {
   return $access;
 }
 
-function views_test_test_dynamic_access_callback($access, $argument1, $argument2) {
+function views_test_data_test_dynamic_access_callback($access, $argument1, $argument2) {
   return $access && $argument1 == variable_get('test_dynamic_access_argument1', NULL) && $argument2 == variable_get('test_dynamic_access_argument2', NULL);
 }
 
 /**
  * Implements hook_views_pre_render().
  */
-function views_test_views_pre_render(&$view) {
+function views_test_data_views_pre_render(&$view) {
   if ($view->name == 'test_cache_header_storage') {
     drupal_add_js(drupal_get_path('module', 'views_test') . '/views_cache.test.js');
     drupal_add_css(drupal_get_path('module', 'views_test') . '/views_cache.test.css');
@@ -56,8 +58,7 @@ function views_test_views_pre_render(&$view) {
 /**
  * Implements hook_views_post_build().
  */
-function views_test_views_post_build(Drupal\views\View &$view) {
-  debug($view->current_display);
+function views_test_data_views_post_build(View &$view) {
   if ($view->name == 'test_page_display') {
     if ($view->current_display == 'page_1') {
       $view->build_info['denied'] = TRUE;
