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

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.example bestand in de /api map en hernoem het naar .env

    cp .env.example ./api/.env
  • Voeg NODE_ENV=CI toe aan je /api/.env bestand

  • 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-server voor 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?