新增通道服务相关测试用例
This commit is contained in:
30
pkg/testutil/redis.go
Normal file
30
pkg/testutil/redis.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user