Привет У Django есть много объектов TestCase для тестирования этой цели:
Небольшой пример класса:
import unittest
from django.test import Client
class SimpleTest(unittest.TestCase):
def setUp(self):
self.client = Client()
def test_action_1(self):
# Issue a POST request.
response = self.client.post('/YOUR_POST_URL/', {'action': 1})
# Check that the response is 200 OK.
self.assertEqual(response.status_code, 200)
# Check the last entry
last_entry = Entry.objects.last()
self.assertEqual(last_entry.status, 1)
response = self.client.post('/YOUR_POST_URL/', {'action': 2})
# Check that the response is 200 OK.
self.assertEqual(response.status_code, 200)
# Check that the response is 200 OK.
self.assertEqual(response.status_code, 200)
# Check the last entry
last_entry = Entry.objects.last()
self.assertEqual(last_entry.status, 2)
self.assertEqual(last_entry.last_status, 1)
Что этот тест делает?
Он создастпустая база данных выполнит миграцию, выдайте запрос POST
с параметрами action=1
, мы проверяем статус 200 (выполнено без ошибок) и проверяем, есть ли у нас в базе данных Entry
с status=1
.Теперь мы делаем то же самое с параметрами action=2
и проверяем сейчас status
и last_status
.