增加延时Task

This commit is contained in:
2025-09-13 12:25:27 +08:00
parent 2593097989
commit 4035172a4b
4 changed files with 136 additions and 15 deletions

View File

@@ -60,6 +60,10 @@ func (m *MockTask) ExecutedCount() int32 {
return atomic.LoadInt32(&m.executed)
}
func (m *MockTask) GetDescription() string {
return "Mock Task"
}
// --- 健壮等待的辅助函数 ---
func waitForWaitGroup(t *testing.T, wg *sync.WaitGroup, timeout time.Duration) {
waitChan := make(chan struct{})
@@ -78,14 +82,14 @@ func waitForWaitGroup(t *testing.T, wg *sync.WaitGroup, timeout time.Duration) {
// --- 任务队列测试 (无需更改) ---
func TestNewTaskQueue(t *testing.T) {
tq := task.NewTaskQueue(testLogger)
func TestNewQueue(t *testing.T) {
tq := task.NewQueue(testLogger)
assert.NotNil(t, tq, "新创建的任务队列不应为 nil")
assert.Equal(t, 0, tq.GetTaskCount(), "新创建的任务队列应为空")
}
func TestTaskQueue_AddTask(t *testing.T) {
tq := task.NewTaskQueue(testLogger)
func TestQueue_AddTask(t *testing.T) {
tq := task.NewQueue(testLogger)
mockTask := &MockTask{id: "task1", priority: 1}
tq.AddTask(mockTask)
@@ -93,15 +97,15 @@ func TestTaskQueue_AddTask(t *testing.T) {
}
// ... (其他任务队列测试保持不变)
func TestTaskQueue_GetNextTask(t *testing.T) {
func TestQueue_GetNextTask(t *testing.T) {
t.Run("从空队列获取任务", func(t *testing.T) {
tq := task.NewTaskQueue(testLogger)
tq := task.NewQueue(testLogger)
nextTask := tq.GetNextTask()
assert.Nil(t, nextTask, "从空队列中获取任务应返回 nil")
})
t.Run("按优先级获取任务", func(t *testing.T) {
tq := task.NewTaskQueue(testLogger)
tq := task.NewQueue(testLogger)
task1 := &MockTask{id: "task1", priority: 10}
task2 := &MockTask{id: "task2", priority: 1} // 优先级更高
task3 := &MockTask{id: "task3", priority: 5}
@@ -128,8 +132,8 @@ func TestTaskQueue_GetNextTask(t *testing.T) {
})
}
func TestTaskQueue_Concurrency(t *testing.T) {
tq := task.NewTaskQueue(testLogger)
func TestQueue_Concurrency(t *testing.T) {
tq := task.NewQueue(testLogger)
var wg sync.WaitGroup
taskCount := 100