1.6 KiB
1.6 KiB
测试策略
首期选择
首期以 Playwright 端到端测试为主。金额精度、汇率换算和同步合并等不适合只靠界面验证的纯逻辑,应补充针对性单元测试。
原则
- 测试真实用户路径,不测试内部实现。
- 优先覆盖高风险流程。
- 使用手机视口作为主要测试环境。
- 测试数据可重复创建和清理。
- 不为早期快速变化的组件写细碎测试。
首期覆盖
记账
- 新增一笔收入。
- 新增一笔支出。
- 使用不同币种记账。
- 编辑账目。
- 删除账目。
- 刷新页面后账目仍存在。
账本权限
- 用户只能看到自己有权限的账本。
- 独享账本不对其他用户可见。
- owner 可以生成邀请。
- 被邀请成员加入后可以看到账本。
离线
- 离线时可以新增账目。
- 离线且汇率服务不可用时仍可新增外币账目。
- 离线刷新后应用仍能打开。
- 恢复网络后触发同步。
同步
- 同一操作重复提交不会重复记账。
- 多设备拉取后能看到同一账本流水。
- 同一账目离线冲突时最后写入胜出。
- 待换算和临时汇率账目恢复网络后可以回补。
汇率与统计
- 按记账日期保存历史汇率快照。
- 外部汇率服务失败时使用缓存或进入待换算状态。
- 人民币汇总不重复调用外部汇率服务。
- 多账本关联的同一账目在跨账本统计中只计算一次。
- 不同最小单位和金额舍入规则通过单元测试覆盖。
暂不覆盖
- 组件测试。
- 大规模性能测试。
- 视觉回归测试。
推荐命令
npm run test:e2e