Тесты, а нужны ли?

Django
Да нужны. Замечу, что речь идёт об автоматизированных тестах. Эта штука просто жизненно необходима для особо функционального (базового, низкоуровнего) кода, каковой содержит сам framework Django. Но почему бы не применить тесты для сайтов? И это не просто «по приколу», а некая защита от головняка.


Часто приходится обновлять Django и сопутствующие приложения на сервере, что иногда приводит к проблемам, которые крайне нежелательны на сайтах заказчиков. И главная проблема это 500 ошибка, которая и будет показателем отказа в тексте ниже.


Итак, Django предоставляет возможность писать тесты для приложений и это всё облегчает.


В большинстве сайтов, ничего не может обрушиться просто так, это скорее всего связано с обратно несовместимыми изменениями в Django, либо влиянием таких изменений на сторонние приложения (django-voting e.t.c.). Написав простейший тест, который проверит, а возвращает ли страница корректный код (т.е. 200) мы при первом же запуске всех тестов определим неработающие страницы, а соответственно и проблемный код.


Итак, в конце всего этого короткий код (за остальным, обратитесь к документации):

from django.test import TestCase

class LentaTest(TestCase):
    def test_index(self):
        response = self.client.get('/lenta/')
        self.failUnlessEqual(response.status_code, 200)


Код помещаем в appname/tests.py, а чтобы запустить тесты, делаем manage.py test appname
Теги:djangotestingтесты
Хабы: Django
+12
924 13
Комментарии 21

Похожие публикации

Python/Django developer
от 150 000 до 180 000 ₽SibedgeМожно удаленно
Senior Backend Engineer (Python, Django)
от 830 000 до 1 250 000 ₸AppboxoАлматыМожно удаленно
Senior Python/Django Backend Developer
от 4 000 до 7 000 $Tapcentive Inc.Можно удаленно
Back-end Developer (Python, Django)
от 120 000 ₽VermeМоскваМожно удаленно
Python/Django разработчик
от 1 900 до 2 400 $FloshipМожно удаленно

Лучшие публикации за сутки