Сборка и Тестирование

Полное руководство по сборке, тестированию и отладке Gemini CLI

BuildTesting

Процесс Сборки

Понимание системы сборки и рабочего процесса разработки

npm run bootstrap

Установить зависимости и связать пакеты

Usage:

Первоначальная настройка и после добавления новых зависимостей

npm run build

Собрать все пакеты в порядке зависимостей

Usage:

Перед тестированием или выпуском

npm run build:watch

Собрать пакеты в режиме наблюдения

Usage:

Во время активной разработки

npm run clean

Очистить артефакты сборки и node_modules

Usage:

При возникновении проблем со сборкой

Фреймворк Тестирования

Комплексное тестирование с Jest и TypeScript

npm run test

Запустить все тесты во всех пакетах

Usage:

Выполнение полного набора тестов

npm run test:watch

Запустить тесты в режиме наблюдения

Usage:

Во время разработки

npm run test:coverage

Сгенерировать отчеты о покрытии тестами

Usage:

Обеспечение качества и CI/CD

lerna run test --scope @gemini/core

Запустить тесты для конкретного пакета

Usage:

Целенаправленное тестирование

Рабочий Процесс Разработки

Рекомендуемый рабочий процесс разработки и тестирования

1

Первоначальная Настройка

Настроить среду разработки и установить зависимости

git clone https://github.com/google-gemini/gemini-cli.git && cd gemini-cli && npm run bootstrap
2

Режим Разработки

Запустить режим наблюдения для автоматической пересборки

npm run build:watch
3

Тестирование

Непрерывно запускать тесты во время разработки

npm run test:watch
4

Проверка Качества

Запустить проверки кода, форматирование и проверку типов перед коммитом

npm run lint && npm run type-check && npm run test:coverage

Отладка

Инструменты и методы для отладки проблем

Режим Отладки

Включить журналирование отладки для подробного вывода

DEBUG=gemini:* gemini ask "Привет"

Это покажет подробные журналы для всех операций Gemini CLI

Отладка VS Code

Использовать предоставленную конфигурацию запуска VS Code

.vscode/launch.json

Установить точки останова и отлаживать прямо в VS Code

Отладка Тестов

Отладить конкретные тесты

npm run test -- --testNamePattern="API Client"

Запустить и отладить конкретные тестовые случаи

Профилирование Производительности

Профилировать проблемы производительности

node --prof packages/cli/bin/gemini

Сгенерировать профили производительности для анализа

Непрерывная Интеграция

Автоматизированное тестирование и обеспечение качества

Сборка

Скомпилировать TypeScript и собрать все пакеты

Тестирование

Запустить модульные тесты и сгенерировать отчеты о покрытии

Развертывание

Опубликовать пакеты и развернуть документацию

Распространенные Проблемы

Решения распространенных проблем сборки и тестирования

Сбои Сборки

Если сборка не удается после получения изменений, попробуйте очистить и переустановить

npm run clean && npm run bootstrap && npm run build

Сбои Тестов

Для периодических сбоев тестов запустите тесты с увеличенным таймаутом

npm run test -- --testTimeout=10000

Проблемы с Памятью

Если вы сталкиваетесь с ошибками нехватки памяти во время сборки

NODE_OPTIONS="--max-old-space-size=4096" npm run build