# Django testing ## Если вы успели выполнить все домашние задания — ваш финальный проект готов Перенесите тесты из ваших проектов в данный репозиторий (**django_testing**), который появился в вашем аккаунте. В итоге должна получиться следующая структура репозитория: ```text Dev └── django_testing ├── ya_news │ ├── news │ │ ├── fixtures/ │ │ ├── migrations/ │ │ ├── pytest_tests/ <- Директория с вашими тестами pytest для проекта ya_news │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── models.py │ │ ├── urls.py │ │ └── views.py │ ├── templates/ │ ├── yanews/ │ ├── manage.py │ └── pytest.ini ├── ya_note │ ├── notes │ │ ├── migrations/ │ │ ├── tests/ <- Директория с вашими тестами unittest для проекта ya_note │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── models.py │ │ ├── urls.py │ │ └── views.py │ ├── templates/ │ ├── yanote/ │ ├── manage.py │ └── pytest.ini ├── .gitignore ├── README.md ├── requirements.txt └── structure_test.py ``` ## После копирования тестов, написанных в ходе прохождения спринта, для проверки готовности проекта к сдаче необходимо выполнить 4 действия 1. Создать и активировать виртуальное окружение; установить зависимости из файла `requirements.txt`; 2. Запустить скрипт для `run_tests.sh` из корневой директории проекта: ```bash bash run_tests.sh ``` **Если все проверки успешно выполнились, проект можно отправлять на ревью.** ## Создание виртуального окружения Убедиться что установлен `pyenv`: ```bash pyenv install --list ``` Если в консоли будет список версий -- значит `pyenv` стоит, можно продолжать. Далее установить правильную версию: ```bash pyenv install 3.9.16 ``` Установить локальную версию `python`: ```bash pyenv local 3.9.16 ``` Убедиться что выбрана именно эта версия: ```bash pyenv versions ``` Создать виртуальное окружение: ```bash python -m venv venv ``` После чего надо активировать виртуальное окружение: ```bash source venv/bin/activate ``` Возможно, в ходе всех этих процедур потребуется многократно перезапускать консоль. Сформировать список зависимостей: ```bash pip freeze > requirements.txt ``` Восстановить список зависимостей: ```bash pip install -r requirements.txt ``` Обновить `pip` при необходимости: ```bash python -m pip install --upgrade pip ``` ## Запуск линтеров Два самых смачных линтера: ```bash pylama ./ya_note ``` Вторый вкусный линтер: ```bash pylint-gui # или pylint ya_newa/manage.py ```