用途:在动手写测试前充当“关卡”,用一个问题过滤掉低价值测试——“这个测试能捕获哪个现有测试都没捕获到的真实回归?”答不出具体 bug、代码路径和触发输入,就不要写。目标是防止测试膨胀、保护 CI 速度。
主要能力:给出判定标准,列举应当跳过的五类测试(测试框架/平凡行为、变更探测型测试、冗余覆盖、为凑覆盖率、跨语言源码扫描),并强调通过公共接口测试可观察行为,而非内部调用顺序。
分层与用法:测试成本自下而上递增——纯函数/单元 → kea logic → Django TestCase → ClickHouse → Playwright e2e,目标是底部多、顶部极少。难测时应抽出纯函数而非升级测试层级。Python 用 TestCase 而非 TransactionTestCase;DRF 输入校验用 SimpleTestCase 直测 serializer,另保留一个 DB 端到端“接线”用例;重复断言用 parameterized,禁止复制粘贴、禁止测试中写 doc 注释,只 mock 真正的边界。前端一个文件一个顶层 describe,优先测 logic 而非组件渲染,用 test.each,避免大 DOM 上的 *ByRole name 查询(性能差),避免大快照。始终保证确定性与隔离:不用 sleep、不连真实网络、不依赖测试顺序,@skip/xfail 需理由与 issue,禁止提交 .only。
适用场景:PostHog 仓库中新增或大幅改动测试时的准入检查。
限制:以上均为该技能给出的规范,具体规则以此为准;未提供独立的安装命令或包信息。修复已有 flaky 测试应使用 /fixing-flaky-tests;编写非 flaky Playwright 测试应先用本技能判断是否值得,再用 /playwright-test。