User Tools

Site Tools


chat-bots:testing_code_quality

Tests, code quality

Д/З

Reading assignment (прочитать и понять)

Практика (для зачета)

Данное Д/з должно быть единственным в вашем гитхаб. Git ветка - главная (main / master). Это нужно для простоты настройки Github actions (CI / CD). Поэтому если у Вас все Д/з в одном репозитории в отдельных каталогах, то рекомендуется для данного Д/з создать новый репозиторий.

Задача: взять Pizza bot из прошлого Д/з, добавить в него инструменты качества кода (black, ruff, pytest), написать минимум 2-3 теста, и настроить Github Action для CI/CD.

Требуется реализовать

  1. Получите ✅ по предыдущему Д/з Pizza bot
  2. Если в Вашем репозитории лежит несколько Д/з в разных каталогах, то требуется создать новый репозиторий и скопировать в него проект Pizza bot (протестировать, что проект запускается и работает корректно)
  3. Добавить black в requirements.txt. Запустить black на весь проект. Посмотреть git diff и осознать как black исправил код. Сделать коммит с сообщением “black reformat whole project”.
  4. Добавить ruff в requirements.txt. Запустить ruff на весь проект. Посмотреть git diff и осознать как ruff исправил код / подсветил ошибки. Исправить все то, что не смог ruff. При крайней необходимости можно заигнорировать строчку. To ignore a specific violation on a line, append # noqa: {code} (e.g., # noqa: F841) to the end of the line. Сделать коммит с сообщением “ruff fix whole project”.
  5. Сделать рефакторинг проекта, применив инверсию зависимостей для telegram_api_client и database_client (см. запись лекции). Проверить, что Pizza bot по-прежнему корректно работает. Запустить и применить исправления black и ruff.
  6. Добавить pytest в requirements.txt. Написать минимум 2-3 теста.Запустить и применить исправления black и ruff.
  7. Добавить в проект конфиг для Github Actions. При каждом git pish а так же при создании pull request на github должна запускаться black, ruff и pytest. Запушить результат на гитхам, убедиться гитхаб запустил все три инструмента и результат - зеленая галочка ✅.

Процесс сдачи

  1. (студент): напишите в ТГ преподавателю одно сообщение, содержащее текст:
    1. Для сдачи Д/з Tests, code quality:
    2. Ссылка на гит с исходным кодом бота
  2. (преподаватель) проверяет наличие зеленой галочки на гитхабе, делает код ревью, при необходимости задает дополнительные вопросы.
  3. (преподаватель) отправляет с ТГ личку студенту сообщение “ФИО ✅ 7️⃣”
  4. (студент) заходит на страницу успеваемости и проверяет корректность своей успеваемости.
chat-bots/testing_code_quality.txt · Last modified: by olegsklyarov