From 567cfc1601a5f475eea12bc5de53b849fa5dadea Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Tue, 28 Jun 2016 11:21:26 -0400 Subject: [1.10.x] Replaced use of TestCase.fail() with assertRaises(). Also removed try/except/fail antipattern that hides exceptions. Backport of c9ae09addffb839403312131d4251e9d8b454508 from master --- tests/forms_tests/tests/test_error_messages.py | 6 ++---- tests/forms_tests/tests/test_forms.py | 12 ++++-------- tests/forms_tests/tests/test_formsets.py | 5 +---- 3 files changed, 7 insertions(+), 16 deletions(-) (limited to 'tests/forms_tests') diff --git a/tests/forms_tests/tests/test_error_messages.py b/tests/forms_tests/tests/test_error_messages.py index 0632107e1e..315e72604d 100644 --- a/tests/forms_tests/tests/test_error_messages.py +++ b/tests/forms_tests/tests/test_error_messages.py @@ -16,11 +16,9 @@ from django.utils.safestring import mark_safe class AssertFormErrorsMixin(object): def assertFormErrors(self, expected, the_callable, *args, **kwargs): - try: + with self.assertRaises(ValidationError) as cm: the_callable(*args, **kwargs) - self.fail("Testing the 'clean' method on %s failed to raise a ValidationError.") - except ValidationError as e: - self.assertEqual(e.messages, expected) + self.assertEqual(cm.exception.messages, expected) class FormsErrorMessagesTestCase(SimpleTestCase, AssertFormErrorsMixin): diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py index 89d8d6bb67..2bd49b7361 100644 --- a/tests/forms_tests/tests/test_forms.py +++ b/tests/forms_tests/tests/test_forms.py @@ -173,11 +173,9 @@ class FormsTestCase(SimpleTestCase): self.assertFalse(p.is_bound) self.assertEqual(p.errors, {}) self.assertFalse(p.is_valid()) - try: + with self.assertRaises(AttributeError): p.cleaned_data - self.fail('Attempts to access cleaned_data when validation fails should fail.') - except AttributeError: - pass + self.assertHTMLEqual( str(p), """ @@ -2168,11 +2166,9 @@ Password: self.assertEqual(p.errors['last_name'], ['This field is required.']) self.assertEqual(p.errors['birthday'], ['This field is required.']) self.assertEqual(p['first_name'].errors, ['This field is required.']) - try: + # Accessing a nonexistent field. + with self.assertRaises(KeyError): p['person1-first_name'].errors - self.fail('Attempts to access non-existent fields should fail.') - except KeyError: - pass # In this example, the data doesn't have a prefix, but the form requires it, so # the form doesn't "see" the fields. diff --git a/tests/forms_tests/tests/test_formsets.py b/tests/forms_tests/tests/test_formsets.py index f367d22397..d432a5d2d9 100644 --- a/tests/forms_tests/tests/test_formsets.py +++ b/tests/forms_tests/tests/test_formsets.py @@ -1012,11 +1012,8 @@ class FormsFormsetTestCase(SimpleTestCase): # confirm indexing of formset self.assertEqual(formset[0], forms[0]) - try: + with self.assertRaises(IndexError): formset[3] - self.fail('Requesting an invalid formset index should raise an exception') - except IndexError: - pass # Formsets can override the default iteration order class BaseReverseFormSet(BaseFormSet): -- cgit v1.3