SuperAPI AI 工具集

test-skill

测试与质量

查看项目

更新于 10-15 23:48

技能介绍

用途:在 FastGPT 项目中编写单元测试。当用户需要编写单元测试时触发该 skill。\n\n测试文件位置:packages 的测试写在 FastGPT/packages/xxx/test 目录下,子路径对应 packages 的目录结构,例如 packages/global/common/error/s3.ts 对应 packages/test/global/common/error/s3.test.ts,可通过 @fastgpt 导入 packages 内文件,如 import { s3 } from '@fastgpt/global/common/error/s3';。projects 的测试写在 FastGPT/projects/app/test 目录下,子路径对应 projects 目录结构。\n\n规则:每个源文件对应一个测试文件,每个函数对应不同 describe 块;需覆盖 100% 行数和分支;尽量不引入第三方依赖库,如需引入则从对应文件 export 给 test 使用;尽量减少函数 mock,仅 mock 无法本地运行的依赖(如远程服务、API 密钥);type.ts、constants.ts、schema.ts、*.schema.ts 及静态数据直接跳过;根据 vitest.config.mts 配置跳过不需测试的文件;Mock.ts 已含全局 mock,勿重复 mock。基础函数文件尽量不 mock,带 API 请求的函数则 mock 对应请求进行测试。\n\n编写流程:一、准备,获取测试文件并创建任务清单逐个完成;二、编写,不同文件可并行,无 .test.ts 则创建,分析代码后编写用例并检查 TS 报错;三、验证,用 pnpm test <file-path> <test-name> 运行并检查覆盖率,确保每文件覆盖率达 90% 以上,不通过则据错误检查逻辑或用例,需二次修改则回到编写步骤。单测场景含基础、复杂、边界值、安全边界情况(死循环、系统崩溃、超大数据等)与异常场景。\n\n常用命令:运行所有测试 pnpm test;运行指定测试文件 pnpm test <file-path>;运行指定测试文件的指定测试 pnpm test <file-path> <test-name>。\n\n其余信息暂未提供。