diff --git a/backend/internal/jobs/smsdispatch/job_test.go b/backend/internal/jobs/smsdispatch/job_test.go index e5ab184..7962179 100644 --- a/backend/internal/jobs/smsdispatch/job_test.go +++ b/backend/internal/jobs/smsdispatch/job_test.go @@ -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,