Testen tijdens ontwikkeling
Hoe je de app lokaal test tijdens de ontwikkeling.
Lokale unit tests
Voordat je jouw updates indient, moet je verifiëren of ze slagen voor alle unit tests. Volg deze stappen om tests lokaal uit te voeren:
-
Kopieer je
.env.examplebestand in de/apimap en hernoem het naar.envcp .env.example ./api/.env -
Voeg
NODE_ENV=CItoe aan je/api/.envbestand -
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
Tests uitvoeren per werkruimte
Tests worden uitgevoerd met Jest vanuit hun respectievelijke werkmappen. Richt je op specifieke testbestanden met patronen:
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>Testfilosofie
- Geef de voorkeur aan echte logica boven mocks. Mock alleen wat niet lokaal kan worden beheerd, zoals externe HTTP API's, diensten met rate-limiting en niet-deterministische systeemaanroepen.
- Gebruik spies wanneer je moet verifiëren dat echte functies zijn aangeroepen met de verwachte argumenten.
- Gebruik
mongodb-memory-servervoor tests die gebaseerd zijn op MongoDB, zodat queries en schema-validatie worden uitgevoerd tegen het gedrag van een echte database. - Dek laad-, succes- en foutstatussen voor UI/data-flows.
Tip
Gebruik test/layout-test-utils voor het renderen van componenten in frontend-tests.
Hoe is deze gids?
Tools en Plugins
Dit document laat zien hoe je aangepaste plugins voor LibreChat maakt door de LangChain `Tool` class uit te breiden. Je leert hoe je verschillende API's en functies gebruikt met je plugins, en hoe je deze integreert met het LangChain framework.
Foutopsporing
(WIP) Bijdragen zijn welkom