Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Tests pendant le développement

Comment tester l'application localement pendant le développement.

Tests unitaires locaux

Avant de soumettre vos mises à jour, vérifiez qu'elles réussissent tous les tests unitaires. Suivez ces étapes pour exécuter les tests localement :

  • Copiez votre fichier .env.example dans le dossier /api et renommez-le en .env

    cp .env.example ./api/.env
  • Ajoutez NODE_ENV=CI à votre fichier /api/.env

  • npm run test:client

  • npm run test:api

  • npm run test:packages:api

  • npm run test:packages:data-provider

  • npm run test:packages:data-schemas

Exécution des tests par espace de travail

Les tests sont exécutés à l'aide de Jest depuis leurs répertoires d'espace de travail respectifs. Ciblez des fichiers de test spécifiques avec des motifs :

cd api && npx jest <pattern>
cd packages/api && npx jest <pattern>
cd packages/data-provider && npx jest <pattern>
cd packages/data-schemas && npx jest <pattern>
cd client && npx jest <pattern>

Philosophie de test

  • Privilégiez la logique réelle aux mocks. Ne simulez que ce qui ne peut pas être contrôlé localement, comme les API HTTP externes, les services limités en débit et les appels système non déterministes.
  • Utilisez des espions (spies) lorsque vous devez vérifier que des fonctions réelles ont été appelées avec les arguments attendus.
  • Utilisez mongodb-memory-server pour les tests basés sur MongoDB afin que les requêtes et la validation de schéma s'exécutent avec le comportement réel de la base de données.
  • Couvrir les états de chargement, de succès et d'erreur pour les flux d'interface utilisateur/données.

Astuce

Utilisez test/layout-test-utils pour le rendu des composants dans les tests frontend.

Que pensez-vous de ce guide ?