Search code examples
djangodjango-unittest

Django Unitest Checking Value Of Template Variable


Suppose I have {{registered}} variable in template. I wrote a piece of test:

def nice_test():
     response = self.client.post(reverse('app:register'), {'username': 'dupa'}

and there I want to check value of variable registered in response. How to do it ?


Solution

  • The response from the test client has access to the template context used.

    def nice_test():
         response = self.client.post(reverse('app:register'), {'username': 'dupa'})
         self.assertEqual(response.context['registered'], '<expected value>')
    

    Here is a reference to the official documentation: https://docs.djangoproject.com/en/1.7/topics/testing/tools/#django.test.Response.context

    class Response
    ...
    context
    The template Context instance that was used to render the template that produced the response content.