Использование GitHub в обучении студентов. Автоматизация проверок. Часть II

от автора

Это продолжение статьи про автоматизацию проверок работ студентов (первая часть — https://habr.com/ru/post/687940/)

Сегодня продолжу рассказывать про автоматизацию проверок работ студентов: проверку правильности решения (прохождение unit-тестов). И пока ещё примеры будут связаны с C#.

Понимаю, что для многих информация в статье будет «слабой» и т.п. Но, надеюсь, хоть какому-нибудь преподавателю она пригодится. Потому как, многие преподаватели программирования не знают как облегчить себе проверки студенческих работ. Даже таким простым способом.

Добавить в репозиторий проверку прохождения unit-тестов на C# нет ничего сложного. При создании workflow в GitHub Actions можно выбрать workflow специфичные для .Net.

Предлагаемого варианта хватит с лихвой. Я только немного подправляю код «под себя».

name: dotnet test  on:   pull_request:     branches: [ "master" ]  jobs:   build:     runs-on: ubuntu-latest      steps:     - uses: actions/checkout@v3      - name: Setup .NET       uses: actions/setup-dotnet@v3       with:         dotnet-version: 6.0.x      - name: Restore dependencies       run: dotnet restore      - name: Build       run: dotnet build --no-restore      - name: Test       run: dotnet test --no-build --verbosity normal

Почему я использую отдельный файл для автоматизации прохождения тестирования, а не добавляю этапы в один workflow? Ответ простой: чтобы разграничить вывод результатов, чтобы понимать что прошло, а что нет. Так проще потом объяснять студентам: тесты пройдены, а вот правила оформления кода не соблюдаются.

После выполнения мы получим «небольшой отчёт», примерно как на изображениях ниже.

Помимо прохождения самих unit-тестов в данном workflow происходит ещё выполнение сборки. Следовательно мы увидим предупреждения и ошибки сборки проектов решения.

Остаётся дело за малым: чтобы студенты научились писать unit-тесты. Почему я не советую писать unit-тесты преподавателю заранее? Потому, что я стараюсь давать такие задания, для которых сложно сразу написать тесты. И мне важно чтобы студенты учились самостоятельно проектировать библиотеки классов. А если они их проектируют самостоятельно — то и подходить к написанию тестов нужно индивидуально. И да, этот подход влечёт за собой ещё и проверку правильности написания unit-тестов. Но нужно же подходить к работе преподавателя программирования со всей ответственностью и с правильным закладыванием фундамента, который требуется отрасли.

Можно добавить ещё и вывод о покрытии кода тестами и много чего ещё. Но об этом в следующих статьях.


ссылка на оригинал статьи https://habr.com/ru/post/692260/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *