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>

테스트 철학

  • 모의 객체(mock)보다는 실제 로직을 우선하십시오. 외부 HTTP API, 속도 제한이 있는 서비스, 비결정적 시스템 호출과 같이 로컬에서 제어할 수 없는 경우에만 모의 객체를 사용하십시오.
  • 실제 함수가 예상된 인자로 호출되었는지 확인해야 할 때는 스파이(spies)를 사용하세요.
  • MongoDB 기반 테스트를 위해 mongodb-memory-server를 사용하여 쿼리 및 스키마 유효성 검사가 실제 데이터베이스 동작을 기준으로 실행되도록 하세요.
  • UI/데이터 흐름에 대한 로딩, 성공 및 오류 상태를 다룹니다.

프론트엔드 테스트에서 컴포넌트를 렌더링하려면 test/layout-test-utils를 사용하세요.

이 가이드는 어떤가요?