返回文章列表

2026.04.22

Mock 数据不要和真实接口越走越远

共享类型、契约测试和固定样例能降低联调时的落差。

问题背景

这类问题常见于业务增长后的前端项目。页面还能跑,但新增需求越来越慢,问题定位越来越依赖个人记忆,最后所有人都怕改公共代码。

共享类型、契约测试和固定样例能降低联调时的落差。 这篇文章更关心落地细节:怎么拆问题、怎么写代码或流程、怎么验收,而不是停在概念介绍。

真正耐用的前端方案通常不复杂,但边界会很清楚:哪些数据来自接口,哪些状态属于页面,哪些逻辑可以独立测试,哪些体验需要降级。

推荐做法

  • 共享类型、契约测试和固定样例能降低联调时的落差。
  • 先挑一条真实业务路径写测试,不要为了覆盖率去测实现细节。
  • Mock 只模拟不可控边界,例如网络和时间;业务规则尽量跑真实函数。
  • 让失败信息能指出业务意图,例如“未登录时不能发布”,而不是只报某个 div 不存在。

一个可直接借用的片段

.layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
}

容易踩坑

  • 不要为了消除重复就过早抽象,三处相似不一定代表同一个业务概念。
  • 不要把后端返回的所有字段原样传到页面深处,字段越散越难维护。
  • 不要只在高速网络和新电脑上验收,真实用户环境往往更差。

检查清单

  1. 是否能说清楚这个改动解决的具体问题。
  2. 是否有失败、空数据、慢网络或权限不足时的处理。
  3. 是否留下了后续维护者能看懂的命名和边界。
  4. 是否用命令、截图或真实页面验证过结果。
好的技术文章不只是告诉你“可以这么做”,还要说清楚什么时候不该这么做。前端工程 的很多经验,真正值钱的部分都在这些边界里。