test(sms): 修正重试用例因 DATETIME(0) 取整导致的时间敏感失败

updated_at 为 DATETIME(0),写库会把小数秒向上取整到下一秒,退避设为 0 时刚失败的记录会被
取数条件 updated_at <= now-退避 取不到,导致 TestDispatchRetriesThenFails 必挂;退避量改为 -2s 保证连续重试可确定执行。
This commit is contained in:
yml2213
2026-10-15 18:21:18 +08:00
parent 832a0628c6
commit b7b68abf6b
@@ -297,8 +297,10 @@ func TestDispatchRetriesThenFails(t *testing.T) {
sms.NodeOrderHandoffAssist: {Enabled: true, TemplateCode: "SMS_512540945"},
})}
job := New(db, nil, zap.NewNop(), mainProvider, "大锤商行", reader, nil)
// 退避设为 0,便于在测试内连续重试。
job.retryDelay = 0
// 退避设为负值,便于在测试内连续重试。
// updated_at 是 DATETIME(0),写库时小数秒会向上取整到下一秒(如 .690 → 下一秒),
// 若把退避设为 0,刚失败的记录会被取数条件 updated_at <= now-退避 误判为「仍在退避中」而取不到。
job.retryDelay = -2 * time.Second
row := seedPending(t, db, model.SmsMessage{
UserID: 7,