33 lines
845 B
Go
33 lines
845 B
Go
package feature
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/goravel/framework/contracts/event"
|
|
"github.com/goravel/framework/facades"
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"goravel/app/events"
|
|
)
|
|
|
|
func TestEvent(t *testing.T) {
|
|
// 测试事件调度是否成功
|
|
err1 := facades.Event().Job(&events.OrderShipped{}, []event.Arg{
|
|
{Type: "string", Value: "I'm OrderShipped"},
|
|
}).Dispatch()
|
|
assert.NoError(t, err1)
|
|
|
|
err2 := facades.Event().Job(&events.OrderCanceled{}, []event.Arg{
|
|
{Type: "string", Value: "I'm OrderCanceled"},
|
|
}).Dispatch()
|
|
assert.NoError(t, err2)
|
|
|
|
// 等待队列处理
|
|
time.Sleep(1 * time.Second)
|
|
|
|
// 注意:由于移除了全局测试变量,这里只验证事件调度是否成功
|
|
// 如果需要验证监听器执行结果,可以通过日志或其他方式验证
|
|
t.Log("Events dispatched successfully")
|
|
}
|