Test client

Test client — is a Python class that acts as a dummy Web browser, allowing you to test your views and interact with your Django-powered application programmatically.

>>> from django.test import Client
>>> c = Client()
>>> response = c.post('/login/', {'username': 'john', 'password': 'smith'})
>>> response.status_code
>>> response = c.get('/customer/details/')
>>> response.content
b'<!DOCTYPE html...'
import unittest
from django.test import Client

class SimpleTest(unittest.TestCase):
    def setUp(self):
        # Every test needs a client.
        self.client = Client()

    def test_details(self):
        # Issue a GET request.
        response = self.client.get('/customer/details/')

        # Check that the response is 200 OK.
        self.assertEqual(response.status_code, 200)

        # Check that the rendered context contains 5 customers.
        self.assertEqual(len(response.context['customers']), 5)

Use Django’s test client to establish that the correct template is being rendered and that the template is passed the correct context data.

Test client — Structure map

Clickable & Draggable!

Test client — Related pages: