django-smoknur
Project description
Установка приложения в проекте
Установить приложение в окружение
Добавить в settings.MIDDLEWARE_CLASSES, django_smoknur.middleware.WriteRequests
Добавить в settings.INSTALLED_APPS, django_smoknur
Добавить в urls, урл приложения:
from django_smoknur.urls import get_urls urlpatterns += get_urls()
Опциональные параметры settings
SMOKNUR_EXCLUDE_APP_DUMPDATA - кортеж приложений, которые необходимо исключить при дампе БД через приложение
SMOKNUR_EXCLUDE_APPS - приложения, исключенные из тестов, например ‘datalogging, contenttypes, south, sessions, auth.permission, auth.group, auth.message`
SMOKNUR_NEW_DJANGO_TESTCASE - включает фикс для теста, для нормальной работы в джанго 1.6. По умолчанию включен. В TransactionTestCase, в методе _fixture_setup отсутствует вызов call_command(‘flush’, …), что на мой взгляд не правильно, т.к. не очищается БД перед запуском каждого тесткейса.
SMOKNUR_PRINT_REQUESTS - включает вывод информации о каждом запросе, урл и параметры. По умолчанию выключен
SMOKNUR_PRINT_RESPONSE - включает вывод информации об ответе на запрос. По умолчанию выключен
SMOKNUR_PRINT_RESPONSE_SIZE - размер информации ответа на запрос. По умолчанию не ограничен
Пример записи сценария
Система работает в дебаг режиме
Заходим на страничку /smoknur
Сохраняем дамп БД.
Скачается .json файл дампа БД, который может быть использован в качетсве фикстур для конкретного сценария.
Файлик был получен командой ./manage.py dumpdata, исключая приложения settings.SMOKNUR_EXCLUDE_APP_DUMPDATA.
Включаем запись отладочной информации.
Переходим на главную страницу проекта и работаем с проектом
В это время, мидлвара smoknur.middleware.WriteRequests будет записывать все запросы на сервер в .dbg файлик, с POST параметрами.
Заходим на страничку /smoknur
Выключаем запись отладочной информации
Скачиваем отладочную информацию
Кладем файлик сценария в соответствующее приложение, в папку smoknur, при необходимости файлик фикстур туда же.
Как работают тесты
Запускаем тест ./manage.py django-smoknur
На каждое приложение из settings.PROJECTS_APPS создается TestCase, если приложение имеет папку smoknur
Если в папке имеется .json файл, он будет использован в качестве начальной фикстуры
Все .dbg файлы читаются, и прогоняются запросы к системы из этих фалов.
Также в модуле имеется менедж команда load_dbg, которой передается 1 параметр, название приложения. Данная команда отправляет запросы, находящиеся в папке smoknur приложения. Иногда необходима для востановления состояния БД, для последующих тестов. Фикстуры приложения она не заливает.
История изменений версии:
0.3.17
параметры запросов пишутся в куки, что дает возможность начать запись без авторизации
запись в логи ведется только в дебаг режиме
логируется также статус ответа
логируется метод запроса и вызывается соответствующий(пока POST и GET)
при тетсировании сверяются ответы сервера
параметры SMOKNUR_USERNAME, SMOKNUR_PASSWORD не актуальны, авторизация происходит через логи
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_smoknur-0.3.18.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c8ec9fd3e3313f98751ef9b08c60b8d2ff730f15577f8bd8689f7e1d59ba5f1 |
|
MD5 | a6d0f0c4f10d2447636f3c1f0e0ed646 |
|
BLAKE2b-256 | 038c98530b393a187d374464d1a7cdd2c2a661c65e8fd5c573f962993ff3e238 |