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

開発中のテスト

開発中にアプリをローカルでテストする方法。

ローカルユニットテスト

更新を送信する前に、すべてのユニットテストに合格することを確認してください。テストをローカルで実行するには、以下の手順に従ってください:

  • /api フォルダー内の .env.example ファイルをコピーし、.env に名前を変更してください。

    cp .env.example ./api/.env
  • /api/.env ファイルに NODE_ENV=CI を追加してください。

  • 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

ワークスペースごとにテストを実行する

テストは、各ワークスペースディレクトリから Jest を使用して実行されます。パターンを指定して特定のテストファイルをターゲットにすることができます:

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>

テストの哲学

  • モックよりも実際のロジックを優先してください。モックは、外部HTTP API、レート制限のあるサービス、非決定的なシステムコールなど、ローカルで制御できないものに対してのみ使用してください。
  • 実際の関数が期待される引数で呼び出されたことをアサートする必要がある場合は、スパイを使用してください。
  • MongoDBベースのテストには mongodb-memory-server を使用することで、クエリやスキーマのバリデーションを実際のデータベースの挙動に対して実行できます。
  • UI/データフローの読み込み中、成功、およびエラー状態をカバーします。

ヒント

フロントエンドテストでコンポーネントをレンダリングするには、test/layout-test-utils を使用してください。

このガイドはいかがでしたか?