Автотесты на GitHub

Общая информация

В репозиториях настроена система автоматического тестирования, которая проверяет:

  • Наличие всех необходимых файлов

  • Возможность сборки кода (для компилируемых языков)

  • Корректность работы исполняемого файла

⚠️ Ограничения:

  • Тестирование поддерживает только языки, указанные в требованиях к работе

  • Все автотесты прогоняются на одном сервере, поэтому ближе к дедлайну может образовываться очередь на запуск.

Процесс тестирования

circle-info

Важно: в списке запусков тестов будет первый запуск, который будет называться "Testing by github-classroom[bot]".

Этот запуск технический и используется для инициализации репозитория. Он должен завершиться с кодом 1 и сообщением "Repository successfully initialized. Exiting (with expected failed, code 1)...".

Это не ваш запуск тестов, как запустить тесты - ниже!

1

Загрузка в репозиторий

Убедитесь, что все исходники и тестовые данные загружены в репозиторий. Запушить файлы можно любым способомarrow-up-right.

2

В разделе Actions выбор доступного Workflow

❗ Если ни одного GitHub Workflow нет, то необходимо написать ответственному с указанием ссылки на репозиторий.

3

Запуск Workflow

При необходимости выберете подходящие опции для тестирования решения.

4

Мониторинг выполнения

  • Статус "In progress" (желтый) – тестирование выполняется

  • Статус "Failed" (красный) – обнаружены ошибки

  • Статус "Passed" (зелёный) – тесты пройдены (следует ознакомиться с логами)

Анализ результатов

Успешное выполнение

В разделе Summary будут:

  1. Список выполненных jobs (запуски на разных конфигурациях)

  2. Человекочитаемый отчет с:

    • Статусом проверки

    • Логами тестирования

    • Результатами сборки (для компилируемых языков)

    • Результатами выполнения тестов

Возможные проблемы

  1. Ошибки инициализации автотестов:

    Проблема: В разделе "Install dependencies / Init" нет отметки "Done"

    Что делать: Написать ответственному в личные сообщения с указанием ссылки на репозиторий.

  2. Проблемы определения языка:

    Проблема: В разделе "Detect language" failed

    Что делать:

    • Проверьте наличие всех исходных файлов в репозитории

    • Убедитесь в соответствии требованиям содержимого репозитория

    • [при наступающем отчаянии] Написать ответственному в личные сообщения с указанием ссылки на репозиторий

    Ожидается:

  3. Ошибки сборки:

    Проблема: В разделе "Build" failed

    Что делать:

    • Прочитать логи сборки (компилятора/линковщика) в разделе "Build log"

    • Проверьте наличие всех исходных файлов в репозитории

    • Убедитесь в соответствии требованиям содержимого репозитория (версии стандарта)

    • [при наступающем отчаянии] Написать ответственному в личные сообщения с указанием ссылки на репозиторий

  4. Ошибки выполнения:

    Проблема: В разделе "Test" часть или все тесты не пройдены

    Что делать:

    • Осознать тест (код завершения, вывод программы) и полученные результаты

    • Проверить, что программа соответствует требованиям (выводит ожидаемый результат в нужное место: поток вывода или файл)

    • [при наличии] Директория test_data с её содержимым не были модифицированы

    • [при наступающем отчаянии] Написать ответственному в личные сообщения с указанием ссылки на репозиторий

    ℹ️ Для каждого теста указаны:

    • Входные/выходные данные

    • Код возврата

    • Вывод программы

    • Сообщения об ошибках

    Ожидается:

Last updated