增加延时Task
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user