docs/04-quality/smoke-matrix.md
仓库当前缺少自动化测试基线,因此需要一份最小可执行的手工回归矩阵。 它的目标不是覆盖全部功能,而是覆盖最容易因局部改动而回归的主链路。
每次涉及共享层或根装配时,至少验证:
适用改动:
lib/page/login/lib/redux/login_redux.dartuser_repository基础用例:
重点观察:
适用改动:
lib/page/repos/repos_repositoryissue_repository基础用例:
重点观察:
适用改动:
lib/page/trend/ReposRepository.getTrendRequest基础用例:
重点观察:
适用改动:
lib/page/notify/user_repository 通知相关接口基础用例:
重点观察:
适用改动:
lib/common/net/lib/common/repositories/基础用例:
重点观察:
适用改动:
lib/app.dartlib/provider/lib/redux/基础用例:
适用改动:
lib/common/utils/event_utils.dart(事件 switch、_translateAction、UnknownEvent 兜底)lib/page/dynamic/lib/widget/gsy_event_item.dartevent_dynamic_*、event_action_*)基础用例(真机走一遍首页动态 tab,滚到当前登录用户 received feed 前 40 条):
PushEvent:带 head SHA shortIssuesEvent opened:在 {repo} 打开 issue #{n} + issue title 摘要ForkEvent:将 {src} fork 到 {dst}WatchEvent started:关注了 {repo}CreateEvent:创建了仓库 {repo} 或类似重点观察:
等 HTML 尾巴_translateAction 冷 action:如果 feed 里出现 auto_merge_enabled / dequeued / enqueued 等新词条,应显示英文原文(当前还未收编到词典),可以据此判断哪些 action 值得优先补入已知稀有事件真机命中说明:
DiscussionEvent / DiscussionCommentEvent / SponsorshipEvent / PullRequestReviewThreadEvent
这四类事件在多数账号的 /users/{u}/received_events feed 里出现频率极低(fixture 账号
CarSmallGuo 拉最近 5 页 299 条只出现 1 条 DiscussionEvent,且被 GSY 首页分页策略
跳过,见后文"分页可疑丢事件"条目)。
这些事件的识别正确性由以下两条证据链保证,不强求真机截图:
test/utils/event_utils_test.dart 已覆盖 15 case(含全部四类),
对 getActionAndDes 的 switch 分支做等价类抽样getActionAndDes switch 分支下的事件(IssuesEvent /
ForkEvent / WatchEvent / PushEvent)已在同一屏正确渲染,
截图见 tool/dbg/b_10_back_to_hfye.png
与 tool/dbg/b_13_load_more.png复用脚本:tool/ai/smoke/open_home_dynamic.sh (重启 app → 停在首页动态 tab → 下拉刷新 → 上拉加载 → 慢速下滑抓 5 张证据截图)。