- создайте новую папку, где будете хранить решения домашних заданий
- добавьте README файл в корень папки (это часть первой домашки)
- скачайте данный репозиторий, эту ветку (или склонируйте репозиторий и переключитесь на данную ветку)
- скопируйте файл
run_tests.yml
в папку.github/workflows
(получится.github/workflows/run_tests.yml
) - скопируйте папку
testing
в корень вашего репозитория (в папку с readme файлом) - убедитесь, что в вашем репозитории присутствует файл
.github/workflows/run_tests.yml
для GitHub Actions, а также папкаtesting
, в которой находятся все тесты
Не создавайте в проекте (не копируйте в ваш проект) папки домашек (
homework_01
,homework_03
, etc), если не собираетесь их выполнять. Если загрузить невыполненное дз, тесты упадут. Если решения не будет вовсе (просто отсутствует модуль с домашкой), тест "пройдёт мимо" и не упадёт.
- скачайте данный репозиторий, эту ветку (или склонируйте репозиторий и переключитесь на данную ветку)
- скопируйте папку
homework_02
в корень своего проекта (где02
это номер домашней работы, которую вы выполняете) - используйте каркас, доступный в этой папке, для выполнения домашней работы (редактируйте доступные файлы)
- не изменяйте имя папки, файлов, а также тесты
- созданные функции и классы не нужно переименовывать, так как тесты будут искать их для выполнения проверок, тем не менее можно (и зачастую нужно) редактировать (добавлять) параметры функций
- все зависимости, которые использует ваш проект, должны быть "заморожены" в корне репозитория:
pip freeze > requirements.txt
. Обновляйте файл по мере добавления новых зависимостей. Добавляйте в зависимости только то, что нужно для выполнения домашки, не нужно отправлять туда всё содержимое виртуального окружения
- для проверки домашнего задания используются автоматические тесты
- не для каждого домашнего задания есть тесты. Однако, если тесты для определенного домашнего задания присутствуют в данном репозитории, они должны пройти
- решенным считается то домашнее задание, для которого полностью прошли соответствующие тесты - в таком случае "зачёт"
- код решения домашнего задания должен работать относительно папки домашнего задания. То есть файл
main.py
должен находиться в папкеhomework_02
(соответственно для каждой домашки) - все домашки должны быть в своих папках, всё в одной ветке, чтобы можно было сразу видеть количество выполненных домашек
- перед сдачей домашки убедитесь, что тесты проходят.
Для этого можно выполнить их локально:
pytest testing/test_homework_02 -s -vv
из корня проекта- установите необходимые зависимости в текущее окружение:
pip install -r requirements-dev.txt
- не забудьте изменить номер домашки для проверки другого модуля
- установите необходимые зависимости в текущее окружение:
- также проверьте, что тесты прошли и на GitHub (для этого в репозитории необходимо перейти в раздел Actions)
- тесты не должны быть изменены: они должны совпадать с исходными тестами (находящимися в этом репозитории)
- в некоторых заданиях необходимо использовать переменные окружения (вы поймёте, когда это будет нужно, на первых домашках пропустите).
Если вы выполняете тесты в терминале, то воспользуйтесь командой
export FOO_BAR=spam_eggs
для объявления в своём окружении. При выполнении тестов в PyCharm укажите Environmental variables в свойствах конфигурации теста