2. Содержание
1. Литература и инструменты
2. Установка и настройка окружения для команды разработчиков
3. Разработка стиле TDD
4. Автоматизированное приемочное тестирование
5. Автоматизируем установку на демо и продакшин сервера
3. Литература
• Learn Python The Hard Way - http://learnpythonthehardway.org/
• Django Book - http://www.djangobook.com
4. Основные инструменты
• PyPI — Центральный репозиторий пакетов включающий в себя
более 34 000 готовых решений - https://pypi.python.org
• virtualenv — создание разных виртуальных окружений для
проектов - http://www.virtualenv.org/en/latest/
• pip — установщик пакетов для python -
https://pypi.python.org/pypi/pip
• Fabric – инструмент для поставки сервер и выполенения
административных задач – http://fabfile.org/
5. Установка и настройка окружения для
команды разработчиков
Уставнока python
> sudo apt-get install python2.7
или для тех кто хочет идти быть на передовой
> sudo apt-get install python3
9. Создание проекта на Django
> pip install django
> python django-admin.py startproject carshop
> ./manage.py startapp cars
10. carshop carshop settings.py
wsgi.py
urls.py
cars models.py
views.py
admin.py
forms.py
tests.py
urls.py
manage.py
Настройки проекта
Файл для запуска на apache сервере
Главный файл маршрутизации ссылок
Классы моделей
Функции и классы действий
Админская часть для нашего приложения
Классы форм
Тесты
Маршрутизация ссылок
Консольный инструмент для выполнения
команд в Django
11. • Не тестируйте то что уже протестировано
• Проверяйте в отдельном тесте одну и только одну функцию
• Тесты пишутся для бизнес логики
• Модель это не бизнес логика, а её данные
> ./manage.py test cars
Начинаем с unit-тестов на Django
13. Приемочное тестирование
Инструмент
Lettuce – BDD фреймворк для Python – http://lettuce.it
> manage.py harvest
Пример
Сценарий: Пользователь видит форму банковских реквизитов
Допустим пользователь авторизовался в системе
И выбрал автомобиль “Bentley” “2013” года выпуска
Если нажимат на кнопку “Купить”
То видит форму заполнения банковских реквизитов
19. Выводы
• Virtualenv – Установка и работа с окружением
• Django – Реализуем нашу идею
• Lettuce – Тестируем в браузере
• Fabric – Устанавливаем на сервер