SuperAPI AI 工具集

ln-631-test-business-logic-auditor

测试与质量

查看项目

更新于 10-15 14:34

技能介绍

用途

该技能是一个 L3 工作单元(Worker),用于审计测试是否真正验证了本地产品行为,而不是平台行为。它聚焦于“产品行为聚焦度”这一类别(高优先级),检测那些仅验证语言、框架、库、生成代码或默认平台行为的测试,并给出删除或重写的建议。

主要能力

技能执行六类检查:

  1. 框架测试检测:识别验证 Express、Fastify、Koa 等框架行为而非业务逻辑的测试。检测模式如 (express|fastify|koa).(use|get|post|put|delete|patch),测试名如“middleware is called”。严重级别 MEDIUM。
  2. ORM/数据库库测试:识别验证 Prisma、Mongoose、Sequelize、TypeORM 行为的测试。检测模式如 (prisma|mongoose|sequelize|typeorm).(find|findMany|create|update|delete|upsert)。严重级别 MEDIUM。
  3. 加密/哈希库测试:识别验证 bcrypt、argon2 哈希行为的测试。检测模式如 (bcrypt|argon2).(hash|compare|verify|hashSync)。严重级别 MEDIUM。
  4. JWT/令牌库测试:识别验证 JWT 签名/验证的测试。检测模式如 (jwt|jsonwebtoken).(sign|verify|decode)。严重级别 MEDIUM。
  5. HTTP 客户端库测试:识别验证 axios、fetch、got 行为的测试。检测模式如 (axios|fetch|got|request).(get|post|put|delete|patch)。严重级别 MEDIUM。
  6. React Hooks/框架测试:识别验证 React hooks 行为的测试。检测模式如 (useState|useEffect|useContext|useReducer|useMemo|useCallback)。严重级别 LOW(若测试的是自定义 hook 逻辑则可接受)。

对于每个候选,技能会进行上下文验证:如果测试的是包装框架原语的定制代码(如使用 useState 的自定义 hook),则保留;如果仅调用语言/框架/库 API 而无自定义产品逻辑,则建议 DELETE_NON_PRODUCT_TEST;如果可以重写为断言本地规则、映射、策略或错误行为,则建议 REWRITE_TO_PRODUCT_BEHAVIOR;如果是导入库用于模拟设置的测试辅助工具,则跳过。

技能会收集发现项(含严重级别、位置 file:line、工作量估算 S/M/L、建议),计算合规评分(X/10),并生成完整 Markdown 报告。

使用方式

技能接收 contextStore,包含 tech_stack、testFilesMetadata、codebase_root、output_dir。工作流程包括:解析上下文、扫描代码库(第一层)、上下文分析(第二层,强制)、收集发现项、计算评分、写入报告到 {output_dir}/ln-631--global.md(单次 Write 调用),并返回摘要。

在托管模式下,调用方传入 runId 和 summaryArtifactPath;在独立模式下,工作单元按共享契约生成自己的运行范围工件路径。当 summaryArtifactPath 缺失时,摘要写入 .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json。

报告类别为 "Product Behavior Focus",检查项包括 framework_tests、orm_tests、crypto_tests、jwt_tests、http_client_tests、react_hooks_tests。发现项必须包含 action 为 DELETE_NON_PRODUCT_TEST 或 REWRITE_TO_PRODUCT_BEHAVIOR。

适用场景

适用于需要审计测试是否聚焦于产品行为而非平台行为的场景,例如代码质量审查、测试套件优化、技术债务评估等。

限制

技能仅报告,不自动修复。它只判断测试是否证明本地产品行为,不评估组合价值、E2E 覆盖、隔离性、断言强度或结构。检测模式需匹配项目实际技术栈。工作量估算:S = <1h,M = 1-4h,L = >4h。自定义包装库的代码不应被标记,测试辅助工具也不应被标记。

参考文件

审计输出模式:references/audit_output_schema.md。版本:3.0.0,最后更新:2025-12-23。