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

Kiểm thử trong quá trình phát triển

Cách kiểm thử ứng dụng cục bộ trong quá trình phát triển.

Kiểm thử đơn vị cục bộ

Trước khi gửi các bản cập nhật của bạn, hãy xác minh rằng chúng vượt qua tất cả các bài kiểm tra đơn vị. Thực hiện theo các bước sau để chạy kiểm tra cục bộ:

  • Sao chép tệp .env.example của bạn trong thư mục /api và đổi tên nó thành .env

    cp .env.example ./api/.env
  • Thêm NODE_ENV=CI vào tệp /api/.env của bạn

  • 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

Chạy kiểm thử theo từng Workspace

Các bài kiểm tra được chạy bằng Jest từ các thư mục workspace tương ứng của chúng. Nhắm mục tiêu vào các tệp kiểm tra cụ thể bằng các mẫu:

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>

Triết lý kiểm thử

  • Ưu tiên logic thực tế thay vì các mock. Chỉ mock những gì không thể kiểm soát cục bộ, chẳng hạn như các HTTP API bên ngoài, các dịch vụ bị giới hạn tốc độ (rate-limited) và các lệnh gọi hệ thống không xác định.
  • Sử dụng spies khi bạn cần xác nhận rằng các hàm thực tế đã được gọi với các đối số mong đợi.
  • Sử dụng mongodb-memory-server cho các bài kiểm thử dựa trên MongoDB để các truy vấn và xác thực lược đồ chạy dựa trên hành vi thực tế của cơ sở dữ liệu.
  • Bao gồm các trạng thái tải, thành công và lỗi cho các luồng UI/dữ liệu.

Mẹo

Sử dụng test/layout-test-utils để render các component trong các bài kiểm thử frontend.

Hướng dẫn này thế nào?