Грэм Дамплтон: Написание масте... Заметка
Planet Python на русском

Грэм Дамплтон: Написание мастер-класса для JupyterLab

Этот текст описывает создание мастер-класса в JupyterLab, посвященного обучению pytest. Мастер-класс разработан так, чтобы быть достаточно компактным для размещения в посте блога, но при этом содержать все необходимые элементы настоящего мастер-класса. Он включает манифест, несколько страниц, интерактивные действия, автоматические проверки, викторину и вспомогательные инструменты. Мастер-класс обучает фундаментальному циклу pytest: написанию теста, наблюдению его сбоя и последующему исправлению кода. Этот итеративный процесс структурирован на четырех отдельных страницах мастер-класса. Ключевой особенностью является создание изолированной среды Python для мастер-класса, гарантирующей установку pytest без влияния на систему учащегося. Этот подход использует учебные материалы из предыдущего доклада на конференции для улучшения процесса обучения. Процесс начинается с планирования и определения проверяемых шагов, что отличает мастер-классы от руководств. Мастер-класс генерируется с помощью команды jupyter workshop init, которая настраивает структуру каталогов и файл манифеста. Возможности, такие как доступ к терминалу, запись файлов, выполнение кода и установка пакетов, объявляются в манифесте и проверяются линтерами. Поле environment в манифесте указывает зависимости, такие как pytest, которые устанавливаются в самодостаточную виртуальную среду. Это позволяет избежать ручной настройки среды, позволяя учащимся сосредоточиться на самом pytest. Запись env в манифесте также отключает кэширование байт-кода Python, чтобы предотвратить проблемы с быстрыми изменениями файлов. Мастер-класс использует файл files/orders.py, содержащий намеренно ошибочную функцию для отладки учащимися. Каждая страница мастер-класса использует Markdown и специальные блоки действий для направления учащегося через такие задачи, как открытие файлов, написание кода и выполнение команд. Проверки реализованы с помощью действия verify, которое автоматически проверяет результат действий учащегося, обеспечивая прогресс и обучение. Включено действие quiz для того, чтобы учащиеся предсказывали результаты перед запуском тестов, закрепляя понимание того, как работает pytest. Действие editor-insert позволяет добавлять и просматривать новый код, например тесты, непосредственно в редакторе. Структура и содержание мастер-класса разработаны так, чтобы быть интерактивными и образовательными, с акцентом на практическое применение pytest.
CdXz5zHNQW_hkEwNEOUhk.png