From d9f8cc12aeeb5309139a79d9b613fa405ebed36e Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sat, 12 Apr 2014 11:42:06 +0200 Subject: [1.7.x] Fixed #22102 -- Made SimpleTestCase tests run before unittest.TestCase ones Thanks aptiko for the report and Tim Graham for the review. Backport of 3e3a7372f5 from master. --- tests/test_runner/test_discover_runner.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'tests/test_runner') diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py index c0448bd43a..809d4e16e9 100644 --- a/tests/test_runner/test_discover_runner.py +++ b/tests/test_runner/test_discover_runner.py @@ -25,7 +25,7 @@ class DiscoverRunnerTest(TestCase): ["test_discovery_sample.tests_sample"], ).countTestCases() - self.assertEqual(count, 2) + self.assertEqual(count, 4) def test_dotted_test_class_vanilla_unittest(self): count = DiscoverRunner().build_suite( @@ -61,7 +61,7 @@ class DiscoverRunnerTest(TestCase): ["test_discovery_sample/"], ).countTestCases() - self.assertEqual(count, 3) + self.assertEqual(count, 5) def test_empty_label(self): """ @@ -103,6 +103,20 @@ class DiscoverRunnerTest(TestCase): self.assertEqual(count, 0) + def test_testcase_ordering(self): + suite = DiscoverRunner().build_suite(["test_discovery_sample/"]) + tc_names = [case.__class__.__name__ for case in suite._tests] + self.assertEqual( + suite._tests[0].__class__.__name__, + 'TestDjangoTestCase', + msg="TestDjangoTestCase should be the first test case") + self.assertEqual( + suite._tests[1].__class__.__name__, + 'TestZimpleTestCase', + msg="TestZimpleTestCase should be the second test case") + # All others can follow in unspecified order, including doctests + self.assertIn('DocTestCase', [t.__class__.__name__ for t in suite._tests[2:]]) + def test_overrideable_test_suite(self): self.assertEqual(DiscoverRunner().test_suite, TestSuite) -- cgit v1.3