بنقرة واحدة
auto-test
自动化测试生成工作流。为 FastAPI/RAG 后端生成 pytest 单测/集成/冒烟测试,强调 Mock 隔离、分层策略与边界覆盖。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
自动化测试生成工作流。为 FastAPI/RAG 后端生成 pytest 单测/集成/冒烟测试,强调 Mock 隔离、分层策略与边界覆盖。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
契约治理三件套的「值层」。核对同一个物理契约值(MQ topic/group、OSS bucket、消息字段名/别名、内部 HTTP 路径等)在 .env/.env.example/代码生效点/Java 对端多处是否逐字相等,找出配置漂移与死值,防止消息收不到/文件取不到。本 skill 只比对「同一个值在多处是否一致」,不判断结构/语义是否破坏对端(那是结构层,转 contract-guard),也不改文档。
指导 LLM 如何使用 toLink-Rag 项目的 MQ 消息中台进行消息收发、定义新消息类型以及处理多厂商适配逻辑。
当用户认为当前模块代码实现完毕,且当前分支应为 dev,需要从 dev 基于当前修改创建规范分支、提交并发起合并到 dev 的 GitHub PR 时使用;也用于发布收口,即直接创建 dev -> master 的 release PR,不新建 release 分支。适用于“从 dev 新建分支”“把当前修改提 PR”“实现完成创建 feature/refactor 分支并 PR”“发布新版本”“dev 合并 master”等交付收口场景。本 skill 是交付链终点,并在建分支/提 PR 前执行收口门槛:测试未过、契约文档失同步、acceptance 未提升者拒绝收口。
当用户要求把需求、功能、技术方案、架构改造、故障复盘、项目治理实践或实现过程写成博客/技术文章时必须使用;尤其适用于“写一篇博客”“生成技术博客”“把这个需求写成文章”“根据这个功能写博客”“把项目实现讲清楚”等请求。使用时要基于用户给出的需求和 toLink-Rag 当前仓库的真实代码、文档、契约、配置与测试证据完成分析,默认输出 Markdown 到 `.specs/blog/《博客名称》.md`。文章须采用「少量
把项目里已有的内部组件(如 MQ 中台、解析 pipeline、缓存层、对象存储)抽象成一份「项目自有 skill」,让 AI 每次接入都自动复用该组件的架构边界与约定。读组件真实代码,提炼「架构定位 / 职责边界 / 已落地清单 / 扩展点 / 红线」五要素,按统一原型生成 SKILL.md,登记到 .ai/skills/README.md 注册表并跑校验。
当用户要提 issue、登记 bug、记录新需求时使用;自动识别所属项目,生成结构化 issue 内容,先在 Linear 建主记录、再在 GitHub 建镜像,并双向回链。用户说"提个 issue""记一下这个 bug""把这个需求登记一下""同步到 Linear 和 GitHub""别再依赖 Linear 自动同步"时都应触发,即使没有明确说出"Linear"或"GitHub"。
| name | auto-test |
| description | 自动化测试生成工作流。为 FastAPI/RAG 后端生成 pytest 单测/集成/冒烟测试,强调 Mock 隔离、分层策略与边界覆盖。 |
| when_to_use | 当用户要求生成测试用例、补齐单元测试、修复失败的测试、编写 pytest fixtures、设置 Mock 策略或提升测试覆盖率时激活。触发示例:'写一下这个函数的单元测试'、'补全测试覆盖'、'这个接口的测试怎么写'、'用pytest测试' |
面向 Python 后端(FastAPI/RAG)的自动化测试生成规范与工作流,目标是产出可运行、可维护、可验证的测试代码,并严格隔离外部依赖(数据库、MQ、对象存储、第三方 API 等)。
pytest-mock 或标准 unittest.mock 对所有的网络和 I/O 行为执行无情打桩。绝不允许使用真实 API Key 或真实网络请求。Service 与 DB Session 组合)进行验证。.env 执行对真实厂商或物理引擎的数据写入(如:发起短对话、写入验证向量)。准备数据、执行行动 和 断言检查 环节,或使用相应的空行进行分割。mock_target.assert_called_once_with(...) 的触发细节及参数正确性。mock_db_session,respx_mock,mock_env_vars)。tests/unit/<镜像 src 路径>;集成测试放 tests/integration。.venv/bin/pytest tests/unit -q.venv/bin/pytest --run-integration tests(不带 --run-integration 不收集集成测试)pytest.mark.asyncio(项目已配 asyncio_mode/插件);async def 测试直接 await。httpx.MockTransport 注入受控 AsyncClient,不要打真实网络。AsyncSession 的测试替身或 fixture,禁止单测连真实 MySQL。TOLINK_RUN_REAL_SPARSE_VECTOR_TESTS),默认关闭,不混入单测。tests/unit/core/sparse_vector/。每次面临需要为一个组件生成测试的要求时,请利用以下格式做出专业应答:
test_success_scenario_xxx: 描述...test_failure_scenario_xxx: 描述...# 输出完整可运行的 pytest 代码,请在此处务必配置好相应的 @pytest.fixture 与 mock patch