先给出结论:不要为这个组件写一份“通用验收单”,而要写一组带页面上下文的样例。做法是把组件在两类页面上的差异拆成可观察的输出——占位尺寸、内容长度、交互状态、数据来源——然后为每个差异点写“给定什么输入,期望什么输出”。即使没有完整数据或后台权限,你也能用静态页面、浏览器开发者工具和手动改文案完成最小验证;但这类验证只能证明“在当前构造的输入下表现一致”,不能证明所有真实数据、所有账号权限下都一致。
同一组件在不同页面表现不同,常见原因有四类,判断方式也不同:
这四类的验收样例写法不同。前两类靠改输入就能复现,后两类需要固定环境再比对。先分类,再决定样例怎么写,能避免把布局问题误记成组件缺陷。
假设你手上有一个商品卡片组件,它在列表页显示正常,在详情页侧栏里图片被压扁。可以这样构造样例:
每条样例只覆盖一个差异点。如果你把“图片比例、标题截断、对齐方式”写进同一条,失败时无法判断是哪一项先坏。分开写,失败定位更快。
没有后台账号、拿不到真实数据时,仍可以做三件事:
这些动作能回答“在给定输入下组件是否按预期渲染”。它们不能回答“真实数据里最长的标题会不会撑破布局”“某个账号权限下字段是否为空”“接口返回延迟时组件是否闪烁”。也就是说,最小验证通过,只说明你构造的那组输入没问题,下一步仍需补真实数据或权限来覆盖边界。
假设列表页容器宽 960px,侧栏容器宽 300px,组件在两者中都使用同一份 CSS。你在 300px 下发现按钮文字换行。此时不要直接改组件样式,先做两步:
这个对比动作的结果会直接决定下一步:是调整页面布局约束,还是修改组件自身的响应式规则。两者改的位置不同,后续回归验证的范围也不同。
样例写完不是归档,而是作为回归依据。每次组件或页面样式改动后,按样例逐条重跑,记录哪条从通过变失败。如果某条样例在两个页面都通过、只有一个页面失败,优先检查该页面的容器和页面级样式,而不是先怀疑组件。反过来,如果两个页面同时失败,才更可能是组件本身的改动引起。
最后要记住:样例通过的数量增加,不等于组件在所有页面都安全。它只说明你覆盖的输入组合变多了。没有覆盖到的真实数据、权限状态和加载时序,仍然需要单独确认。