Skip to main content

Автоматическая настройка покрытия кода

Агент с поддержкой искусственного интеллекта может анализировать репозиторий и создавать рабочий рабочий рабочий процесс покрытия кода, чтобы начать отслеживание покрытия тестов без ручной разработки конфигурации CI.

Кто может использовать эту функцию?

GitHub Team или GitHub Enterprise Cloud

При использовании автоматической настройки для покрытия кода агент, на основе ИИ анализирует репозиторий, определяет платформу тестирования и открывает запрос на вытягивание с рабочим процессом покрытия, готовым для проверки.

Дополнительные затраты на использование этой функции отсутствуют.

Как работает агент

Агент работает на трех этапах:

  1. Обнаружения: Агент считывает конфигурацию CI, документацию и файлы сборки, чтобы понять структуру проекта и определить платформу тестирования.
  2. Выполнения: Агент устанавливает зависимости, создает проект и выполняет тесты с включенным покрытием. Если средство покрытия еще не настроено, агент добавляет его в конфигурацию проекта (например, vitest.config.ts или jest.config.js).
  3. Интеграция рабочего процесса: Если агент создает действительный отчет о охвате, он проверяет, имеет ли репозиторий рабочий GitHub Actions процесс, который выполняет тесты на запросы на вытягивание. Если это так, агент расширяет рабочий процесс с шагом отправки покрытия. Если нет, он создает новый файл рабочего процесса и открывает запрос на вытягивание.

Когда агент останавливается

Агент может остановиться перед открытием запроса на вытягивание в следующих ситуациях:

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

Если агент останавливает или выдает непредвиденные результаты, вы можете просмотреть журнал сеансов агента для получения подробных сведений. Перейдите на вкладку "Задачи " в репозитории, чтобы найти сеанс, связанный с попыткой создания рабочего процесса.

  • Преобразование отчета о неподдерживаемом охвате. Агент не реконструирует XML-код Cobertura из отчетов, которые предоставляют только агрегированные счетчики. Например, Xml JaCoCo не содержит достаточной структуры линий и ветвей для надежной отправки Cobertura, поэтому проекты JVM, которые создают только JaCoCo XML, могут потребовать ручной настройки.

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

Примечание.

Агент немедленно открывает запрос на вытягивание с первоначальной фиксацией планирования, которая не содержит изменений кода. Фактическая фиксация реализации обычно поступает через несколько минут позже. Если запрос на вытягивание изначально отображает 0 измененных файлов, подождите несколько минут и обновите страницу.

Если агент успешно открывает запрос на вытягивание, запрос на вытягивание может находиться в одном из следующих состояний:

  • Слияние as-is: Рабочий процесс успешно завершается в ci и покрытие отправляется правильно.
  • Готово к итерации: Рабочий процесс выполняется, но требует корректировки (например, отсутствуют секреты, конфигурация локального запуска или различия путей между локальной проверкой и CI).
  • Полезно в качестве ссылки: Обслуживание может предпочесть самостоятельно настроить покрытие, используя запрос на вытягивание агента в качестве отправной точки для обнаруженных команд сборки и тестирования.

Дополнительные материалы