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 }