Тесты, а нужны ли?
Раздел:
Programming /
Python
@
13.07.2008 |
Ключевые слова: framework Django tests тесты
Автор: Роман Толкачёв
Источник: habrahabr
Да нужны. Замечу, что речь идёт об автоматизированных тестах. Эта штука просто жизненно необходима для особо функционального (базового, низкоуровнего) кода, каковой содержит сам 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
Вернуться в раздел:
Programming /
Python