Construction et Test

Guide complet pour construire, tester et déboguer Gemini CLI

BuildTesting

Processus de Construction

Comprendre le système de construction et le flux de travail de développement

npm run bootstrap

Installer les dépendances et lier les packages

Usage:

Configuration initiale et après ajout de nouvelles dépendances

npm run build

Construire tous les packages dans l'ordre des dépendances

Usage:

Avant les tests ou la publication

npm run build:watch

Construire les packages en mode surveillance

Usage:

Pendant le développement actif

npm run clean

Nettoyer les artefacts de construction et node_modules

Usage:

Lors de problèmes de construction

Framework de Test

Tests complets avec Jest et TypeScript

npm run test

Exécuter tous les tests dans tous les packages

Usage:

Exécution complète de la suite de tests

npm run test:watch

Exécuter les tests en mode surveillance

Usage:

Pendant le développement

npm run test:coverage

Générer des rapports de couverture de tests

Usage:

Assurance qualité et CI/CD

lerna run test --scope @gemini/core

Exécuter les tests pour un package spécifique

Usage:

Tests ciblés

Flux de Travail de Développement

Flux de travail de développement et de test recommandé

1

Configuration Initiale

Configurer l'environnement de développement et installer les dépendances

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

Mode Développement

Démarrer le mode surveillance pour la reconstruction automatique

npm run build:watch
3

Tests

Exécuter continuellement les tests pendant le développement

npm run test:watch
4

Vérification Qualité

Exécuter les vérifications de code, le formatage et la vérification de type avant le commit

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

Débogage

Outils et techniques pour déboguer les problèmes

Mode Débogage

Activer la journalisation de débogage pour une sortie détaillée

DEBUG=gemini:* gemini ask "Bonjour"

Cela affichera des journaux détaillés pour toutes les opérations Gemini CLI

Débogage VS Code

Utiliser la configuration de lancement VS Code fournie

.vscode/launch.json

Définir des points d'arrêt et déboguer directement dans VS Code

Débogage de Tests

Déboguer des tests spécifiques

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

Exécuter et déboguer des cas de test spécifiques

Profilage de Performance

Profiler les problèmes de performance

node --prof packages/cli/bin/gemini

Générer des profils de performance pour l'analyse

Intégration Continue

Tests automatisés et assurance qualité

Construction

Compiler TypeScript et construire tous les packages

Test

Exécuter les tests unitaires et générer des rapports de couverture

Déploiement

Publier les packages et déployer la documentation

Problèmes Courants

Solutions aux problèmes courants de construction et de test

Échecs de Construction

Si les constructions échouent après avoir tiré des changements, essayez de nettoyer et réinstaller

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

Échecs de Tests

Pour les échecs de tests intermittents, exécutez les tests avec un timeout augmenté

npm run test -- --testTimeout=10000

Problèmes de Mémoire

Si vous rencontrez des erreurs de mémoire insuffisante pendant les constructions

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