← маршрут 1–48 · личный кабинет
Занятие 35. Тестирование версии 1.0
Перед началом
Что открыть: Открой рабочую версию проекта после занятия 34. Демонстрационный lesson-35.py используй как отдельный маленький пример.
Исходные данные: Используй одну и ту же сборку версии 1.0 без ручного изменения кода между сценариями.
Что нужно понять
Занятие 35 посвящено теме «Тестирование версии 1.0». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Тестирование версии 1.0 включает два уровня: короткие assert проверяют отдельные функции, а игровые сценарии A, B и C нужно отдельно пройти в своей сборке. Демонстрационный пример ниже не заменяет прохождение карты и основного пути.
Минимальный пример
def use_potion(hp,inventory):
if "зелье" in inventory and hp<10:
hp=min(10,hp+5)
inventory.remove("зелье")
return hp
inv=["зелье"]
assert use_potion(6,inv)==10 and inv==[]
assert use_potion(10,inv)==10 and inv==[]
def damage(hp,value):
return max(0,hp-value)
assert damage(2,5)==0
print("Проверки функций пройдены")
print("Игровые сценарии A, B и C нужно отдельно пройти в своей игре.")Скачать демонстрационный .py-файл
Практика
Пройди минимум три сценария версии 1.0: A — обычный путь старт→лес→зелье→башня→бой→финал; B — запрещённый переход; C — повторное использование уже израсходованного зелья. Дополнительно оставь assert для чистых функций.
Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 35.
Критерий проверки
Для A, B и C заранее записаны ожидания и фактические результаты. Ошибки исправлены или зафиксированы; assert функций проходят.
Как проверить: Сначала запусти демонстрационные assert и убедись, что они проверяют только функции. Затем отдельно в своей игре пройди A — основной путь; B — запрещённый переход; C — повторное использование зелья и запиши фактические результаты.
Что сдать
Сдай рабочую версию проекта после занятия 35 и короткий протокол проверки: входные данные → ожидалось → получилось.
Если нужна поддержка: Если задача не запускается целиком, выполни один шаг отдельно и объясни, что должно измениться до следующего шага.
Типичное затруднение
Не тестируй только удачные значения. Добавляй ноль, минимум, максимум и значение за границей, если оно допустимо для функции.
Домашняя часть
Добавь два новых граничных случая и сохрани тесты отдельно от ручной демонстрации.
После базы: Объясни, что именно гарантирует каждый assert и чего он не проверяет.
Если появилась ошибка
Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.