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
  • NODE_ENV=CI 添加到您的 /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

按工作区运行测试

测试使用 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

这篇指南怎么样?