From d89f56dc4d03f6bf6602536b8b62602ec0d46d2f Mon Sep 17 00:00:00 2001 From: Thomas Chaumeny Date: Sat, 18 Oct 2014 20:03:10 +0200 Subject: Fixed #21281 -- Made override_settings act at class level when used as a TestCase decorator. --- tests/settings_tests/tests.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'tests/settings_tests') diff --git a/tests/settings_tests/tests.py b/tests/settings_tests/tests.py index c679962a99..64f99fc859 100644 --- a/tests/settings_tests/tests.py +++ b/tests/settings_tests/tests.py @@ -106,9 +106,19 @@ class ClassDecoratedTestCaseSuper(TestCase): @override_settings(TEST='override') class ClassDecoratedTestCase(ClassDecoratedTestCaseSuper): + + @classmethod + def setUpClass(cls): + super(cls, ClassDecoratedTestCase).setUpClass() + cls.foo = getattr(settings, 'TEST', 'BUG') + def test_override(self): self.assertEqual(settings.TEST, 'override') + def test_setupclass_override(self): + """Test that settings are overriden within setUpClass -- refs #21281""" + self.assertEqual(self.foo, 'override') + @override_settings(TEST='override2') def test_method_override(self): self.assertEqual(settings.TEST, 'override2') -- cgit v1.3