Python/Django: how to assert that unit test result contains a certain string?

To assert if a string is or is not a substring of another, you should use assertIn and assertNotIn:

# Passes
self.assertIn('bcd', 'abcde')

# AssertionError: 'bcd' unexpectedly found in 'abcde'
self.assertNotIn('bcd', 'abcde')

These are new since Python 2.7 and Python 3.1


self.assertContains(result, "abcd")

You can modify it to work with json.

Use self.assertContains only for HttpResponse objects. For other objects, use self.assertIn.


You can write assertion about expected part of string in another string with a simple assertTrue + in python keyword :

self.assertTrue("expected_part_of_string" in my_longer_string)