Erstellen und Testen

Vollständiger Leitfaden zum Erstellen, Testen und Debuggen von Gemini CLI

BuildTesting

Build-Prozess

Das Build-System und den Entwicklungsworkflow verstehen

npm run bootstrap

Abhängigkeiten installieren und Pakete verknüpfen

Usage:

Ersteinrichtung und nach dem Hinzufügen neuer Abhängigkeiten

npm run build

Alle Pakete in Abhängigkeitsreihenfolge erstellen

Usage:

Vor dem Testen oder Veröffentlichen

npm run build:watch

Pakete im Watch-Modus erstellen

Usage:

Während der aktiven Entwicklung

npm run clean

Build-Artefakte und node_modules bereinigen

Usage:

Bei Build-Problemen

Test-Framework

Umfassendes Testen mit Jest und TypeScript

npm run test

Alle Tests in allen Paketen ausführen

Usage:

Vollständige Testsuite-Ausführung

npm run test:watch

Tests im Watch-Modus ausführen

Usage:

Während der Entwicklung

npm run test:coverage

Test-Coverage-Berichte generieren

Usage:

Qualitätssicherung und CI/CD

lerna run test --scope @gemini/core

Tests für spezifisches Paket ausführen

Usage:

Fokussiertes Testen

Entwicklungsworkflow

Empfohlener Entwicklungs- und Test-Workflow

1

Ersteinrichtung

Entwicklungsumgebung einrichten und Abhängigkeiten installieren

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

Entwicklungsmodus

Watch-Modus für automatisches Neuerstellen starten

npm run build:watch
3

Testen

Tests kontinuierlich während der Entwicklung ausführen

npm run test:watch
4

Qualitätsprüfung

Code-Checks, Formatierung und Typprüfung vor dem Commit ausführen

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

Debugging

Tools und Techniken zum Debuggen von Problemen

Debug-Modus

Debug-Logging für detaillierte Ausgabe aktivieren

DEBUG=gemini:* gemini ask "Hallo"

Dies zeigt detaillierte Logs für alle Gemini CLI-Operationen

VS Code Debugging

Die bereitgestellte VS Code Launch-Konfiguration verwenden

.vscode/launch.json

Breakpoints setzen und direkt in VS Code debuggen

Test-Debugging

Spezifische Tests debuggen

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

Spezifische Testfälle ausführen und debuggen

Performance-Profiling

Performance-Probleme profilieren

node --prof packages/cli/bin/gemini

Performance-Profile für die Analyse generieren

Kontinuierliche Integration

Automatisiertes Testen und Qualitätssicherung

Erstellen

TypeScript kompilieren und alle Pakete erstellen

Testen

Unit-Tests ausführen und Coverage-Berichte generieren

Bereitstellen

Pakete veröffentlichen und Dokumentation bereitstellen

Häufige Probleme

Lösungen für häufige Build- und Test-Probleme

Build-Fehler

Wenn Builds nach dem Ziehen von Änderungen fehlschlagen, versuchen Sie zu bereinigen und neu zu installieren

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

Test-Fehler

Für intermittierende Test-Fehler führen Sie Tests mit erhöhtem Timeout aus

npm run test -- --testTimeout=10000

Speicherprobleme

Wenn Sie während der Builds auf Out-of-Memory-Fehler stoßen

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