Order o = anOrder().withAmount(100).build(); private String status = 'CREATED';
一个下单用例前面摆了四十行逐字段赋值,商品模型新加一个必填字段,二十个用例一起编译不过,挨个补了一下午。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,测试数据全靠手写对象字段堆出来,没有统一默认值入口,模型每改一次就要在所有用例里同步补,漏掉一处就是编译错误或空指针,维护成本随用例数线性上涨。
这次卡住的地方就在「测试数据构造」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
处理上按这个顺序:抽一个构造器给所有字段填合理默认值;用例只显式设置它关心的字段;必填字段变化时只改构造器一处。
改完只确认一件事:模型加字段后只改构造器,二十个用例不用动就能全部通过。
