diff --git a/core/modules/field_ui/field_ui.test b/core/modules/field_ui/field_ui.test
index 9b71064..1b832b6 100644
--- a/core/modules/field_ui/field_ui.test
+++ b/core/modules/field_ui/field_ui.test
@@ -9,6 +9,7 @@
  * Provides common functionality for the Field UI test classes.
  */
 class FieldUITestCase extends DrupalWebTestCase {
+  public static $modules = array('node', 'field_ui', 'field_test', 'taxonomy');
 
   function setUp() {
     // Since this is a base class for many test cases, support the same
@@ -18,10 +19,6 @@ class FieldUITestCase extends DrupalWebTestCase {
     if (isset($modules[0]) && is_array($modules[0])) {
       $modules = $modules[0];
     }
-    $modules[] = 'node';
-    $modules[] = 'field_ui';
-    $modules[] = 'field_test';
-    $modules[] = 'taxonomy';
     parent::setUp($modules);
 
     // Create test user.
diff --git a/core/modules/simpletest/drupal_web_test_case.php b/core/modules/simpletest/drupal_web_test_case.php
index 591e8a1..93b07ee 100644
--- a/core/modules/simpletest/drupal_web_test_case.php
+++ b/core/modules/simpletest/drupal_web_test_case.php
@@ -1401,12 +1401,19 @@ class DrupalWebTestCase extends DrupalTestCase {
 
     // Install modules needed for this test. This could have been passed in as
     // either a single array argument or a variable number of string arguments.
-    // @todo Remove this compatibility layer in Drupal 8, and only accept
-    // $modules as a single array argument.
+    // @todo Remove this after fully converting to static $modules property.
     $modules = func_get_args();
     if (isset($modules[0]) && is_array($modules[0])) {
       $modules = $modules[0];
     }
+    // Collect modules to install.
+    $class = get_class($this);
+    while ($class) {
+      if (property_exists($class, 'modules')) {
+        $modules = array_merge($modules, $class::$modules);
+      }
+      $class = get_parent_class($class);
+    }
     if ($modules) {
       $success = module_enable($modules, TRUE);
       $this->assertTrue($success, t('Enabled modules: %modules', array('%modules' => implode(', ', $modules))));
