diff --git a/django/test/testcases.py b/django/test/testcases.py index 86a275e7fd..421134572d 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -589,6 +589,10 @@ class SimpleTestCase(unittest.TestCase): args: Function to be called and extra positional args. kwargs: Extra kwargs. """ + # callable_obj was a documented kwarg in Django 1.8 and older. + callable_obj = kwargs.pop('callable_obj', None) + if callable_obj: + args = (callable_obj,) + args return six.assertRaisesRegex(self, expected_exception, re.escape(expected_message), *args, **kwargs) diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py index 9c6861393a..57c0e6c2e7 100644 --- a/tests/test_utils/tests.py +++ b/tests/test_utils/tests.py @@ -752,6 +752,12 @@ class AssertRaisesMsgTest(SimpleTestCase): raise ValueError("[.*x+]y?") self.assertRaisesMessage(ValueError, "[.*x+]y?", func1) + def test_callable_obj_param(self): + # callable_obj was a documented kwarg in Django 1.8 and older. + def func1(): + raise ValueError("[.*x+]y?") + self.assertRaisesMessage(ValueError, "[.*x+]y?", callable_obj=func1) + class AssertFieldOutputTests(SimpleTestCase):