В рамках данной лабораторной работы требуется продемонстрировать свой талант к покрытию кода тестами.
- Сделать форк данного репозитория.
- Подобрать код проекта, который вы будете покрывать юнит-тестами. Он может быть как вашим собственным, так и опесорсным.
- Покрыть код юнит-тестами, руководствуясь материалом лекции.
- Открыть пул-риквест в иcходный репозиторий
- Удостовериться, что github action успешно обнаружил и запустил ваши юнит-тесты, после чего ожидать ревью.
- Использовать разрешено только pytest.
- Минимальное количество тестов - 7 штук.
- Как минимум 2 теста должны быть менее примитивными, чем основная масса, и использовать помимо ассертов параметризованное тестирование, моки, стабы и т.д.
- Очевидно, что при реализации юнит-тестов вы должны стремиться покрыть как можно больший процент кода тестами.
- Выбирайте в качестве исходного кода что-то более сложное, чем одинокий модуль с двумя функциями, считающими сумму чисел.
- Помните о правилах test discovery.
Немного про github action в этом репозитории
Этот action выполняет крайне простой набор действий:
- Чекаутит код вашего форка,
- Устанавливает зависимости из
requirements.txt, - Запускает юнит-тесты,
- Подсчитывает процент покрытия кода тестами.
Как выглядит исполнение action здорового человека:
1. Все зависимости успешно поставились
2. Все юнит-тесты успешно обнаружились и отработали
Хотя в саммари отображается число всех запусков кода, параметризованный тест для сдачи лабы считается за один.
3. Все файлы исходного кода проекта отобразились в отчете
Если вы столкнулись с непреодолимыми трудностями в ходе выполнения лабораторной работы, вы можете задать вопрос в:
- телеграм-чате предмета,
- телеграм-чате вашего курса,
- канале в дискорде.