diff --git a/django/test/testcases.py b/django/test/testcases.py index 9e92bf5bb5..6f9bc0e724 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -407,6 +407,18 @@ class SimpleTestCase(ut2.TestCase): self.assertTrue(real_count != 0, msg_prefix + "Couldn't find '%s' in response" % needle) + def assertJSONEqual(self, raw, expected_data, msg=None): + try: + data = json.loads(raw) + except ValueError: + self.fail("First argument is not valid JSON: %r" % raw) + if isinstance(expected_data, six.string_types): + try: + expected_data = json.loads(expected_data) + except ValueError: + self.fail("Second argument is not valid JSON: %r" % expected_data) + self.assertEqual(data, expected_data, msg=msg) + def assertXMLEqual(self, xml1, xml2, msg=None): """ Asserts that two XML snippets are semantically the same.