先给结论:不要为每个页面各写一份验收样例,而要把组件拆成“结构、数据、上下文”三层,再为每层各写一条最小可复现样例,最后用一条跨页面对照样例合并验证。这样做的代价是前期要多花时间定义上下文变量,但能避免把页面差异误判成组件缺陷。
同一组件在不同页面表现不同,常见原因有三类:一是组件接收的数据形状不同,比如列表页传入完整对象,详情页只传了标题字段;二是容器约束不同,比如侧栏宽度只有主栏的一半;三是页面级样式覆盖了组件内部样式。
可以用一个可区分的证据来定位:把同一份数据分别放进两个页面容器,如果表现一致,说明问题在数据;如果表现不一致,说明问题在容器或页面样式。这个判断会直接决定下一步是补数据契约,还是补容器约束。
以你手上已有的一个组件页面为例,按下面四步操作:
完成这一步后,验收样例就从“页面截图对比”变成了“变量对照表”,后续新增页面时可以直接复用。
如果差异只出现在少数页面,优先按页面传参,代价是调用方需要理解参数含义;如果差异出现在多数页面,优先统一组件默认值,代价是可能影响已经稳定的页面。
判断条件可以这样设:当同一变量在超过一半的页面中取值相同,就把它设为默认值;当变量取值分散且与页面业务含义相关,就保留为显式传参。假设一个卡片组件在列表页需要显示摘要,在详情页不需要,那么“是否显示摘要”更适合作为传参,而不是写死在组件里。
一条可执行的验收样例至少应包含:页面标识、组件名称、输入数据样例、容器约束、预期表现、实际表现、判定结果。其中“容器约束”常被忽略,但它是区分页面差异的关键字段。
如果实际表现与预期不一致,先检查输入数据和容器约束是否与样例一致,再判断是否为组件缺陷。这个顺序能减少无效修改,也能让下一步的修复动作有明确依据。
验收样例不应只留在测试人员手里,而应随组件说明一起进入交付文档。这样设计和开发在后续页面复用组件时,能直接看到哪些变量会影响表现,避免重复排查。
一个实际动作是:在组件交付前,要求提交一条跨页面对照样例,并注明假设条件。如果这条样例无法复现页面差异,就说明差异来源尚未定位,下一步应继续补充变量,而不是直接修改组件样式。