CI全绿,代码上线,然后一个没人测过的路由在生产环境炸了。这不是测试写得差,是你根本不知道缺了哪块。
覆盖率工具的幻觉
大多数覆盖率工具只告诉你行数和分支。它们不会告诉你:哪些面向用户的路由零测试覆盖?哪些页面有测试访问但从没点击、提交表单或触发变更?
加载页面的测试和真正执行交互的测试是两回事。一条路由可以显示为"已覆盖",而核心交互——表单提交、删除确认、基于角色的跳转——完全没测。
测试缺口的3层诊断
路由发现。读取项目,找出应用暴露的每条路由。不依赖特定框架,从路由配置文件、页面组件模式和现有测试文件引用的URL中检测。Angular、React Router、Vue Router、SolidJS 全部支持。
覆盖分类。对每条发现的路由,检查测试文件并标记三种状态之一:
已测试——有 twd.visit() + userEvent 交互(点击、输入、提交)
部分测试——有 twd.visit() 但缺少交互或变更覆盖
未测试——没有测试文件引用该路由
部分测试是价值所在。这些是感觉覆盖了但实际没有的路由。一个访问 /settings 并检查标题渲染的冒烟测试,和修改密码、点击提交、验证API调用的测试,完全不是一回事。
风险评估。读取组件代码,对每条未测试或部分测试的路由按 HIGH、MEDIUM、LOW 评分。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.