新增通道服务相关测试用例

This commit is contained in:
2025-04-01 11:32:17 +08:00
parent 87eecdb8cb
commit e4bd86642e
10 changed files with 1249 additions and 69 deletions

30
pkg/testutil/redis.go Normal file
View File

@@ -0,0 +1,30 @@
package testutil
import (
"platform/pkg/rds"
"testing"
"github.com/alicebob/miniredis/v2"
"github.com/redis/go-redis/v9"
)
// SetupRedisTest 创建一个测试用的Redis实例
// 返回miniredis实例使用t.Cleanup自动清理资源
func SetupRedisTest(t *testing.T) *miniredis.Miniredis {
mr, err := miniredis.Run()
if err != nil {
t.Fatalf("设置 miniredis 失败: %v", err)
}
// 替换 Redis 客户端为测试客户端
rds.Client = redis.NewClient(&redis.Options{
Addr: mr.Addr(),
})
// 使用t.Cleanup确保测试结束后恢复原始客户端并关闭miniredis
t.Cleanup(func() {
mr.Close()
})
return mr
}