diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh
index 9078168..fa0a466 100755
--- a/scripts/run-tests.sh
+++ b/scripts/run-tests.sh
@@ -78,7 +78,7 @@ simpletest_script_reporter_init();
 $test_id = db_insert('simpletest_test_id')->useDefaults(array('test_id'))->execute();
 
 // Execute tests.
-simpletest_script_execute_batch($test_id, simpletest_script_get_test_list());
+simpletest_script_execute_batch($test_id, $test_list);
 
 // Retrieve the last database prefix used for testing and the last test class
 // that was run from. Use the information to read the lgo file in case any
@@ -138,6 +138,8 @@ All arguments are long options.
   --all       Run all available tests.
 
   --class     Run tests identified by specific class names, instead of group names.
+              A specific test method can be added, for example,
+              'UserAccountLinksUnitTests::testDisabledAccountLink'.
 
   --file      Run tests identified by specific file names, instead of group names.
               Specify the path and the extension (i.e. 'modules/user/user.test').
@@ -364,8 +366,17 @@ function simpletest_script_run_one_test($test_id, $test_class) {
 
     simpletest_classloader_register();
 
-    $test = new $test_class($test_id);
-    $test->run();
+    if (strpos($test_class, '::') > 0) {
+      list($class_name, $method) = explode('::', $test_class, 2);
+      $methods = array($method);
+    }
+    else {
+      $class_name = $test_class;
+      // Use empty array to run all the test methods.
+      $methods = array();
+    }
+    $test = new $class_name($test_id);
+    $test->run($methods);
     $info = $test->getInfo();
 
     $had_fails = (isset($test->results['#fail']) && $test->results['#fail'] > 0);
@@ -421,7 +432,8 @@ function simpletest_script_get_test_list() {
       // Check for valid class names.
       $test_list = array();
       foreach ($args['test_names'] as $test_class) {
-        if (class_exists($test_class)) {
+        list($class_name, ) = explode('::', $test_class, 2);
+        if (class_exists($class_name)) {
           $test_list[] = $test_class;
         }
         else {
@@ -430,8 +442,8 @@ function simpletest_script_get_test_list() {
           foreach ($groups as $group) {
             $all_classes = array_merge($all_classes, array_keys($group));
           }
-          simpletest_script_print_error('Test class not found: ' . $test_class);
-          simpletest_script_print_alternatives($test_class, $all_classes, 6);
+          simpletest_script_print_error('Test class not found: ' . $class_name);
+          simpletest_script_print_alternatives($class_name, $all_classes, 6);
           exit(1);
         }
       }
