This commit is contained in:
jiazhizhong
2022-03-10 17:09:03 +08:00
commit 1279635d7f
97 changed files with 10632 additions and 0 deletions

70
pkg/crontab/job_test.go Normal file
View File

@@ -0,0 +1,70 @@
package crontab
import (
"jiacrontab/pkg/test"
"testing"
"time"
)
func TestJob_NextExecutionTime(t *testing.T) {
timeLayout := "2006-01-02 15:04:05"
j := &Job{
Second: "48",
Minute: "3",
Hour: "12",
Day: "25",
Weekday: "*",
Month: "1",
}
tt, err := j.NextExecutionTime(time.Now())
test.Nil(t, err)
test.Equal(t, "2020-01-25 12:03:48", tt.Format(timeLayout))
tt, err = j.NextExecutionTime(tt)
test.Nil(t, err)
test.Equal(t, "2021-01-25 12:03:48", tt.Format(timeLayout))
tt, err = j.NextExecutionTime(tt)
test.Equal(t, "2022-01-25 12:03:48", tt.Format(timeLayout))
j = &Job{
Second: "58",
Minute: "*/4",
Hour: "12",
Day: "4",
Weekday: "*",
Month: "3",
}
tt, err = j.NextExecutionTime(time.Now())
test.Nil(t, err)
test.Equal(t, "2020-03-04 12:00:58", tt.Format(timeLayout))
tt, err = j.NextExecutionTime(tt)
test.Nil(t, err)
test.Equal(t, "2020-03-04 12:04:58", tt.Format(timeLayout))
tt, err = j.NextExecutionTime(tt)
test.Nil(t, err)
test.Equal(t, "2020-03-04 12:08:58", tt.Format(timeLayout))
j = &Job{
Second: "0",
Minute: "*",
Hour: "*",
Day: "*",
Weekday: "*",
Month: "*",
}
tt, err = j.NextExecutionTime(time.Now())
test.Nil(t, err)
t.Log(tt, j.GetLastExecTime())
for i := 0; i < 1000; i++ {
tt, err = j.NextExecutionTime(tt)
test.Nil(t, err)
t.Log(tt, j.GetLastExecTime())
}
t.Log("end")
}