SuperAPI AI 工具集

awesome-tests

测试与质量

查看项目

更新于 10-16 00:21

技能介绍

用途:awesome-tests 用于编写、改进或修复自动化测试,以及审查测试质量。核心理念是只写高价值测试,每个测试都应保护对用户、调用方或数据真正重要的行为;仅为自身存在或凑覆盖率的测试只是维护成本。

主要能力与原则:通过公共契约断言可观察结果,如返回值与错误、持久化状态、发出的事件、渲染语义、授权决策;仅当精确文本、顺序、调用或快照属于契约时才断言。测试必须能在错误行为上失败,判定标准要能拒绝真正会出问题的情况,而不只是执行代码或检查存在性。优先使用能真正观察该行为的最廉价层级,并遵循仓库约定;只有当接线、序列化、持久化、浏览器或第三方是风险点时才向外层移动。不要用 mock 掩盖被测行为,通过 mock 的测试只证明接线,不证明与真实数据库、网络或提供方的兼容性。保持确定性与隔离:等待所有异步工作,等待可观察状态而非 sleep,在必要时控制时间、随机性和环境,并做好清理。命名应说明行为与条件,setup 应体现意图;适度重复优于隐藏期望的抽象。覆盖率、mock、快照和测试 ID 是信号而非结论。

使用方式:在需要写、改、修测试或审查测试时调用该技能。审查时先问测试唯一保护了什么行为,是否存在更廉价、更稳固的判定方式,再决定修改或删除。除非被要求,不要修改生产代码。

证明测试能失败:修复后通过的测试不能证明它保护了什么。在安全时,展示它在修复前或已知错误行为下会失败;否则在一次性副本或测试接缝中做一处临时小破坏,然后完全还原。绝不要为了证明而破坏他人工作或生产代码;若无安全选项,应明确说明。

限制与参考:选择 fixture 或测试替身、测试 UI 或快照、诊断不稳定或假绿测试时,可阅读 references/test-quality-gates.md。具体安装命令、平台支持与收费信息暂未提供。