SuperAPI AI 工具集

test-behaviour

测试与质量

查看项目

更新于 10-15 23:33

技能介绍

用途:该技能用于回答“我该怎么测试这个”,核心原则是先命名要证明的一个行为,再选择与之匹配的测试形态。每个形态都返回固定且独立的答案;重跑被测代码的测试无法发现其自身错误。

主要能力与使用方式: 一、领域规则用属性测试。对多个输入成立的规则,用 it.prop 配合 Effect Arbitrary 输入;检查返回 Effect 时用 it.effect.prop。断言不应调用被测过滤器来决定答案。 二、含历史的行为用模型测试。会话、重试和生命周期依赖先前步骤,需生成命令序列,每步后将真实系统与一个小模型比对。可用 skills/add-a-lifecycle-machine/templates/lifecycle.model.test.md 作为新机器的模板。 三、UI 行为用 Foldkit Scene。Scene 同时运行 update、视图和订阅,输入与时间都是数据:输入是步骤,如 pointerDown、click、type 或 Subscription.emit;时间是 Command,用 Command.resolve(WaitX, CompletedWaitX(...)) 解析。不要使用假定时器、时钟或 DOM。竞态就是普通断言:在状态已推进后解析过期定时器,再断言没有出错。断言视图展示的内容(角色、文本、data 属性),不要断言 Model 字段。 四、接缝处用一个示例测试,例如针对真实文件系统的服务,保留一个,并通过 Layer 提供服务。 五、始终植入缺陷:破坏测试保护的行为,运行测试,必须失败;恢复代码,测试必须通过。

应拒绝的测试:用被测代码计算期望答案的同义反复测试;任何改动都失败且不证明规则的变更检测测试;套件已覆盖的缺陷回归测试;以及为了让测试通过而改写期望结果。

限制:资料未提供该技能的安装方式、收费、平台与适用范围等信息。