docs(判据): §17 变异只证明样本被抓;标签必须等于断言范围(两种收法,选一个)

This commit is contained in:
2026-09-14 17:36:02 +08:00
parent 1fcb754b61
commit 22715e8af0

View File

@ -480,3 +480,21 @@ Go 在同一包内**按源文件顺序**跑测试 ⇒ 登记那条先跑就读
**配套动作(pi 2026-09-14)**:写完一处"要提醒人的输出"之后,
**去看一眼默认路径的输出** —— 不是看代码,是看它实际打出来的样子。
## 17. 变异只证明「注入的样本被抓」,**不证明完备性**;判据的**标签必须等于断言范围**
**规则**(pi 2026-09-14):一条判据通过变异验证之后,只能说"我注进去的那一条会被抓"。
**样本不是完备性证明**。配套的第二半更重要:
> **标签比断言宽的判据,会在它没测的那条路上被回滚时给绿,而人信的是标签。**
真实例子(`background.test.mjs` 的两条反向断言):名字写着"导航不得变暗 / 不得自叠模糊",
断言体各只扫一条路。三条逃逸路各注一次变异**全部逃掉**(`.dark .nav-rail{}` 选择器作用域、
组件 `dark:` 变体、组件 `backdrop-blur-lg`),导航变黑而判据全绿。
**两种收法,选一个,别都做**:
1. **把标签缩回它真正断言的东西**(推荐:诚实度比覆盖面值钱),并把**未覆盖的路**
逐条写在判据旁边(各自另立判据时才补);
2. 把断言扩到标签的范围 —— 成本高,而且极易变成一刀切误红(先例:`bg-chrome-600`
plain 档徽标)。真要扩,**按文件窄豁免**写。