用途:为 RAPID 后端在本地 MySQL 数据库上运行仓储(repository)集成测试,适合在实现新的仓储方法或修改 Prisma 数据库结构后使用。
前置准备:先启动本地数据库,执行 docker-compose -f assets/local/docker-compose.yml up -d,数据库地址为 localhost:3306,库名 rapid_db,用户 rapid_user,密码 rapid_password。随后进入 backend 目录执行 npm run prisma:generate 与 npm run prisma:migrate 完成 Prisma 初始化。
测试模式:仓储测试必须连接真实数据库而非 mock,使用 vitest 与 PrismaClient,在 beforeEach 中清理数据、afterAll 中调用 prisma.$disconnect(),通过 makeYourRepository(prisma) 构造仓储并断言读写结果。
测试组织:测试文件放在 backend/src/api/features/{feature}/tests/ 下,包含 repository-integration.test.ts(数据库集成测试)、usecase.test.ts(mock 仓储的用例单测)、handlers.test.ts(mock 用例的处理器单测)。
运行方式:在 backend 目录执行 npm test 运行全部测试,npm run test -- {test-name} 运行指定套件,npm run test:watch 进入监听模式,npm run test:coverage 生成覆盖率。常用命令还包括停止数据库 docker-compose -f assets/local/docker-compose.yml down,重置数据库需在 down 时加 -v 再 up 并迁移,运行迁移 npm run prisma:migrate,以及 npm run prisma:studio 打开 http://localhost:5555。
成功标准:Docker 容器运行中、迁移已应用、所有仓储集成测试通过,之后可运行 /build-and-format 做最终校验。限制:资料未提供其他环境要求、依赖版本或异常处理细节。