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

Test durante lo sviluppo

Come testare localmente l'app durante lo sviluppo.

Unit Test locali

Prima di inviare i tuoi aggiornamenti, verifica che superino tutti i unit test. Segui questi passaggi per eseguire i test localmente:

  • Copia il tuo file .env.example nella cartella /api e rinominalo in .env

    cp .env.example ./api/.env
  • Aggiungi NODE_ENV=CI al tuo file /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

Esecuzione dei test per area di lavoro (Workspace)

I test vengono eseguiti utilizzando Jest dalle rispettive directory di workspace. È possibile puntare a file di test specifici con dei pattern:

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>

Filosofia di test

  • Preferisci la logica reale ai mock. Esegui il mock solo di ciò che non può essere controllato localmente, come API HTTP esterne, servizi con limitazioni di frequenza (rate-limited) e chiamate di sistema non deterministiche.
  • Usa gli spy quando hai bisogno di verificare che le funzioni reali siano state chiamate con gli argomenti previsti.
  • Utilizza mongodb-memory-server per i test basati su MongoDB, in modo che le query e la validazione dello schema vengano eseguite simulando il comportamento di un database reale.
  • Coprire gli stati di caricamento, successo ed errore per i flussi di interfaccia utente/dati.

Suggerimento

Utilizza test/layout-test-utils per il rendering dei componenti nei test del frontend.

Com’è questa guida?