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

Testowanie podczas programowania

Jak lokalnie testować aplikację podczas programowania.

Lokalne testy jednostkowe

Przed przesłaniem swoich aktualizacji upewnij się, że przechodzą one wszystkie testy jednostkowe. Wykonaj poniższe kroki, aby uruchomić testy lokalnie:

  • Skopiuj plik .env.example w folderze /api i zmień jego nazwę na .env

    cp .env.example ./api/.env
  • Dodaj NODE_ENV=CI do swojego pliku /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

Uruchamianie testów dla poszczególnych obszarów roboczych (Workspaces)

Testy są uruchamiane przy użyciu Jest z odpowiednich katalogów obszarów roboczych (workspace directories). Określ konkretne pliki testowe za pomocą wzorców:

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>

Filozofia testowania

  • Preferuj rzeczywistą logikę zamiast mocków. Mockuj tylko to, czego nie można kontrolować lokalnie, takie jak zewnętrzne API HTTP, usługi z ograniczeniami liczby zapytań (rate-limited) oraz niedeterministyczne wywołania systemowe.
  • Używaj szpiegów (spies), gdy musisz potwierdzić, że rzeczywiste funkcje zostały wywołane z oczekiwanymi argumentami.
  • Użyj mongodb-memory-server do testów opartych na MongoDB, aby zapytania i walidacja schematu były uruchamiane w oparciu o rzeczywiste zachowanie bazy danych.
  • Obsługa stanów ładowania, powodzenia i błędów dla przepływów interfejsu użytkownika/danych.

Wskazówka

Użyj test/layout-test-utils do renderowania komponentów w testach frontendowych.

Jaka jest ta instrukcja?