本文へ移動
cccskills
無料GitHub で公開

test-case

当用户需要编写一个单元测试时,触发该 skill,编写单元测试。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

When to Use This Skill

用户需要编写一个单元测试时,触发该 skill,编写单元测试。

测试文件位置

packages 测试

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

projects 里的测试,写在 FastGPT/projects/app/test 目录下,子路径对应 projects 的目录结构。

projects/app/src/pages/api/core/dataset/collection/create.ts文件,对应的测例文件路径为 projects/app/test/api/core/dataset/collection/create.test.ts。

测试文件规则

通用规则

  1. 每个文件,对应一个测试文件。每个函数对应不同的 describe 块。
  2. 需覆盖 100% 行数和分支。
  3. 测试文件尽可能不要引入第三方依赖库,使用较为原生的方式进行检查。如果需要引入第三方依赖库,则从对应文件里 export 依赖库给 test 使用。例如:
// FastGPT/packages/service/common/geo/index.ts
import type { NextApiRequest } from 'next';
// 同时导出一个依赖给 FastGPT/packages/service/test/common/geo/index.test.ts 使用
export type { NextApiRequest } from 'next';
  1. 尽量减少函数 mock,如果是系统上原生可运行的函数,则无需 mock,只需要 mock 那些无法本地直接运行的依赖(比如需要远程服务,API 密钥之类的)
  2. 对于 type.ts, constants.ts, schema.ts, *.schema.ts 文件,以及静态数据,直接跳过忽略。
  3. 根据 vitest.config.mts 文件配置,跳过不需要测试的文件。
  4. Mock.ts 文件里,包含了全局 mock 的内容,在编写测试时,请勿重复 mock。理论上,测试里可以 mock 运行各类 infra。

基础函数文件测试

尽量不要 mock,而是完整的运行其逻辑进行测试。

带 API 请求的函数

mock 对应的 API 请求进行测试。

编写流程

一、任务准备

  1. 获取所需要编写的测试文件。
  2. 创建任务清单,来逐个完成每个文件的测例编写。

二、测例编写

不同测例文件,可以并行进行编写。

  1. 检查对应的 .test.ts 测试文件,如果没有则创建。
  2. 思考和分析代码后编写测试样例。
  3. 检查 TS 错误,确保无 ts 报错。
  4. 完成所有测试文件编写

三、结果验证

  1. 调用pnpm test <file-path> <test-name>来运行测试并检查覆盖率,确保每个文件的覆盖率达到 90% 以上。
  2. 如果测试不通过,则根据错误信息检查代码逻辑或者测试用例。
  3. 如需二次修改,则回到”二、测例编写“。

单测包含哪些场景

  1. 基础场景
  2. 复杂场景
  3. 边界值
  4. 安全边界情况(死循环、系统崩溃、超大数据等)
  5. 异常场景

常用命令

# 运行所有测试
pnpm test

# 运行指定测试文件(file-path 填完整文件路径)
pnpm test <file-path>

# 运行指定测试文件的指定测试
pnpm test <file-path> <test-name>

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

为 FastGPT 新资源接入权限管理。当用户需要为新资源(如 AgentSkill、Plugin 等)添加权限支持时触发。

日本語の概要は準備中です。原文の説明を表示しています。

labring/FastGPT3万2026年10月10日 更新

FastGPT API 开发规范。重点强调使用 zod schema 定义入参和出参,在 API 文档中声明路由信息,编写对应的 OpenAPI 文档,以及在 API 路由中使用 schema.parse 进行验证。

日本語の概要は準備中です。原文の説明を表示しています。

labring/FastGPT3万2026年10月10日 更新

FastGPT CI workflow 双轨同步。当用户修改或新增 .github/workflows/ 下的 GitHub Actions workflow 时必须触发:同步更新 .forgejo/workflows/ 对应文件保持功能一致,或判断是否需要新建 Forgejo 版本。涉及 CI、GitHub Actions、Forgejo Actions、镜像构建、container registry、artifact、workflow yaml 改动、build-* workflow、test-* workflow 时也使用此技能。即使用户只提到"改一下 CI"或"加个 workflow"也应触发。

日本語の概要は準備中です。原文の説明を表示しています。

labring/FastGPT3万2026年10月10日 更新

当用户需要弃用一个工作流节点(保留向后兼容、隐藏出模板面板)时触发该 skill。FastGPT 工作流节点的弃用流程标准化封装,覆盖模板、Dispatcher、UI 引用等所有需要改动的位置。

日本語の概要は準備中です。原文の説明を表示しています。

labring/FastGPT3万2026年10月10日 更新

doc-i18n

無料

将 FastGPT 文档从中文翻译为面向北美用户的英文。当用户提到翻译文档、i18n、国际化、translate docs、新增/修改了中文文档需要同步英文版时,使用此 skill。也适用于用户要求检查文档翻译缺失、批量翻译、或对比中英文文档差异的场景。

日本語の概要は準備中です。原文の説明を表示しています。

labring/FastGPT3万2026年10月10日 更新

FastGPT Docker Compose self-hosting deployment workflow. Use when a user asks an AI agent to deploy FastGPT with Docker by referencing /deploy/SKILL.md, including creating an empty fastgpt directory, running the install script in non-interactive mode, starting Docker Compose, monitoring service health, troubleshooting compose issues, and returning the access URL plus root credentials and next steps.

日本語の概要は準備中です。原文の説明を表示しています。

labring/FastGPT3万2026年10月10日 更新

labring のスキルをすべて見る

このスキルの問題を報告する