diff --git a/django/core/management/commands/test.py b/django/core/management/commands/test.py
index 73796fe..2cafa40 100644
--- a/django/core/management/commands/test.py
+++ b/django/core/management/commands/test.py
@@ -52,7 +52,11 @@ class Command(BaseCommand):
                  'with LiveServerTestCase) is expected to run from. The '
                  'default value is localhost:8081-8179.',
         )
-
+        parser.add_argument(
+            '--method-filter', dest='methodfilter',
+            action='store', default=None,
+            help='csv list of test methods to run out of the TestSuite created, discard the others.'
+        )
         test_runner_class = get_runner(settings, self.test_runner)
 
         if hasattr(test_runner_class, 'add_arguments'):
@@ -69,7 +73,7 @@ class Command(BaseCommand):
         del options['liveserver']
 
         test_runner = TestRunner(**options)
-        failures = test_runner.run_tests(test_labels)
+        failures = test_runner.run_tests(test_labels, method_filter=options.get('methodfilter'))
 
         if failures:
             sys.exit(bool(failures))
diff --git a/django/test/runner.py b/django/test/runner.py
index c60f5e8..310ce1e 100644
--- a/django/test/runner.py
+++ b/django/test/runner.py
@@ -63,6 +63,19 @@ class DebugSQLTextTestResult(unittest.TextTestResult):
             self.stream.writeln("%s" % sql_debug)
 
 
+class SimpleTextTestResult(DebugSQLTextTestResult):
+    def __init__(self, stream, descriptions, verbosity):
+        super(SimpleTextTestResult, self).__init__(stream, descriptions, verbosity)
+
+    def printErrorList(self, flavour, errors):
+        for test, err, sql in errors:
+            self.stream.writeln(self.separator1)
+            self.stream.writeln("%s: %s" % (flavour, self.getDescription(test)))
+            self.stream.writeln("Path: %s" % test.id())
+            self.stream.writeln(self.separator1)
+            self.stream.writeln("%s" % err)
+
+
 class RemoteTestResult(object):
     """
     Record information about which tests have succeeded and which have failed.
@@ -500,7 +513,7 @@ class DiscoverRunner(object):
         )
 
     def get_resultclass(self):
-        return DebugSQLTextTestResult if self.debug_sql else None
+        return DebugSQLTextTestResult if self.debug_sql else SimpleTextTestResult
 
     def run_suite(self, suite, **kwargs):
         resultclass = self.get_resultclass()
@@ -546,6 +559,14 @@ class DiscoverRunner(object):
         """
         self.setup_test_environment()
         suite = self.build_suite(test_labels, extra_tests)
+        if kwargs.get('method_filter'):
+            only_these_methods = kwargs.get('method_filter').split(',')
+            new_suite = unittest.TestSuite()
+            for t in suite:
+                if t._testMethodName in only_these_methods:
+                    new_suite.addTest(t)
+            suite = new_suite
+            del new_suite
         old_config = self.setup_databases()
         result = self.run_suite(suite)
         self.teardown_databases(old_config)