diff --git a/core/modules/views/tests/src/Functional/Plugin/StyleTest.php b/core/modules/views/tests/src/Kernel/Plugin/StyleTest.php
similarity index 81%
rename from core/modules/views/tests/src/Functional/Plugin/StyleTest.php
rename to core/modules/views/tests/src/Kernel/Plugin/StyleTest.php
index 1686d53f13ed360118e29b51361b75aa1daafd2a..ded782b2fbd273c41315b6bbd24ba7877212364d 100644
--- a/core/modules/views/tests/src/Functional/Plugin/StyleTest.php
+++ b/core/modules/views/tests/src/Kernel/Plugin/StyleTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\Tests\views\Functional\Plugin;
+namespace Drupal\Tests\views\Kernel\Plugin;
 
-use Drupal\Tests\views\Functional\ViewTestBase;
+use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
 use Drupal\views\Views;
 use Drupal\views_test_data\Plugin\views\row\RowTest;
 use Drupal\views\Plugin\views\row\Fields;
@@ -13,35 +13,20 @@
  * Tests general style functionality.
  *
  * @group views
+ *
  * @see \Drupal\views_test_data\Plugin\views\style\StyleTest.
  */
-class StyleTest extends ViewTestBase {
+class StyleTest extends ViewsKernelTestBase {
 
   /**
-   * Views used by this test.
-   *
-   * @var array
+   * {@inheritdoc}
    */
   public static $testViews = ['test_view'];
 
-  /**
-   * Stores the SimpleXML representation of the output.
-   *
-   * @var \SimpleXMLElement
-   */
-  protected $elements;
-
-  protected function setUp($import_test_views = TRUE) {
-    parent::setUp($import_test_views);
-
-    $this->enableViewsTestModule();
-  }
-
   /**
    * Tests the general rendering of styles.
    */
   public function testStyle() {
-    /** @var \Drupal\Core\Render\RendererInterface $renderer */
     $renderer = $this->container->get('renderer');
 
     // This run use the test row plugin and render with it.
@@ -57,14 +42,14 @@ public function testStyle() {
     $view->initStyle();
     // Reinitialize the style as it supports row plugins now.
     $view->style_plugin->init($view, $view->display_handler);
-    $this->assertTrue($view->rowPlugin instanceof RowTest, 'Make sure the right row plugin class is loaded.');
+    $this->assertInstanceOf(Rowtest::class, $view->rowPlugin);
 
     $random_text = $this->randomMachineName();
     $view->rowPlugin->setOutput($random_text);
 
     $output = $view->preview();
     $output = $renderer->renderRoot($output);
-    $this->assertTrue(strpos($output, $random_text) !== FALSE, 'Make sure that the rendering of the row plugin appears in the output of the view.');
+    $this->assertContains($random_text, (string) $output);
 
     // Test without row plugin support.
     $view = Views::getView('test_view');
@@ -75,8 +60,8 @@ public function testStyle() {
     $view->initDisplay();
     $view->initStyle();
     $view->style_plugin->setUsesRowPlugin(FALSE);
-    $this->assertTrue($view->style_plugin instanceof StyleTestPlugin, 'Make sure the right style plugin class is loaded.');
-    $this->assertTrue($view->rowPlugin instanceof Fields, 'Make sure that rowPlugin is now a fields instance.');
+    $this->assertInstanceOf(StyleTestPlugin::class, $view->style_plugin);
+    $this->assertInstanceOf(Fields::class, $view->rowPlugin);
 
     $random_text = $this->randomMachineName();
     // Set some custom text to the output and make sure that this value is
@@ -84,18 +69,21 @@ public function testStyle() {
     $view->style_plugin->setOutput($random_text);
     $output = $view->preview();
     $output = $renderer->renderRoot($output);
-    $this->assertTrue(strpos($output, $random_text) !== FALSE, 'Make sure that the rendering of the style plugin appears in the output of the view.');
+    $this->assertContains($random_text, (string) $output);
   }
 
+  /**
+   * Tests the grouping features of styles.
+   */
   public function testGrouping() {
-    $this->_testGrouping(FALSE);
-    $this->_testGrouping(TRUE);
+    $this->doTestGrouping(FALSE);
+    $this->doTestGrouping(TRUE);
   }
 
   /**
-   * Tests the grouping features of styles.
+   * Provides reusable code for ::testGrouping().
    */
-  public function _testGrouping($stripped = FALSE) {
+  protected function doTestGrouping($stripped = FALSE) {
     $view = Views::getView('test_view');
     $view->setDisplay();
     // Setup grouping by the job and the age field.
@@ -175,7 +163,6 @@ public function _testGrouping($stripped = FALSE) {
 
     // Alter the results to support the stripped case.
     if ($stripped) {
-
       // Add some html to the result and expected value.
       $rand1 = '<a data="' . $this->randomMachineName() . '" />';
       $view->result[0]->views_test_data_job .= $rand1;
@@ -196,7 +183,7 @@ public function _testGrouping($stripped = FALSE) {
     // The newer api passes the value of the grouping as well.
     $sets_new_rendered = $view->style_plugin->renderGrouping($view->result, $view->style_plugin->options['grouping'], TRUE);
 
-    $this->assertEqual($sets_new_rendered, $expected, 'The style plugins should properly group the results with grouping by the rendered output.');
+    $this->assertEquals($expected, $sets_new_rendered);
 
     // Don't test stripped case, because the actual value is not stripped.
     if (!$stripped) {
@@ -215,7 +202,7 @@ public function _testGrouping($stripped = FALSE) {
       unset($new_expected['Job: Drummer']);
       unset($new_expected['Drummer']['rows']['Age: 28']);
 
-      $this->assertEqual($sets_new_value, $new_expected, 'The style plugins should proper group the results with grouping by the value.');
+      $this->assertEquals($new_expected, $sets_new_value);
     }
 
     // Test that grouping works on fields having no label.
@@ -248,11 +235,11 @@ public function _testGrouping($stripped = FALSE) {
       $data['group'] = $job;
       $expected[$job] = $data;
     }
-    $this->assertEqual($expected, $sets_new_rendered);
+    $this->assertEquals($expected, $sets_new_rendered);
   }
 
   /**
-   * Tests custom css classes.
+   * Tests custom CSS row classes.
    */
   public function testCustomRowClasses() {
     $view = Views::getView('test_view');
@@ -264,34 +251,38 @@ public function testCustomRowClasses() {
     $view->style_plugin->options['row_class'] = $random_name . " test-token-{{ name }}";
 
     $output = $view->preview();
-    $this->storeViewPreview(\Drupal::service('renderer')->renderRoot($output));
+    $html_dom = $this->getHtmlDom($this->container->get('renderer')->renderRoot($output));
 
-    $rows = $this->elements->body->div->div->div;
+    $rows = $html_dom->body->div->div;
     $count = 0;
     foreach ($rows as $row) {
       $attributes = $row->attributes();
       $class = (string) $attributes['class'][0];
-      $this->assertTrue(strpos($class, $random_name) !== FALSE, 'Make sure that a custom css class is added to the output.');
+      $this->assertContains($random_name, $class);
 
       // Check token replacement.
       $name = $view->field['name']->getValue($view->result[$count]);
-      $this->assertTrue(strpos($class, "test-token-$name") !== FALSE, 'Make sure that a token in custom css class is replaced.');
+      $this->assertContains("test-token-$name", $class);
 
       $count++;
     }
   }
 
   /**
-   * Stores a view output in the elements.
+   * Returns a view output as SimpleXMLElement.
+   *
+   * @return \SimpleXMLElement|null
+   *   The HTML DOM.
    */
-  protected function storeViewPreview($output) {
-    $htmlDom = new \DOMDocument();
-    @$htmlDom->loadHTML($output);
-    if ($htmlDom) {
+  protected function getHtmlDom($output) {
+    $html_dom = new \DOMDocument();
+    @$html_dom->loadHTML($output);
+    if ($html_dom) {
       // It's much easier to work with simplexml than DOM, luckily enough
       // we can just simply import our DOM tree.
-      $this->elements = simplexml_import_dom($htmlDom);
+      return simplexml_import_dom($html_dom);
     }
+    return NULL;
   }
 
 }