package testutil import ( g"platform/web/globals" m"platform/web/models" q "platform/web/queries" "testing" "github.com/glebarez/sqlite" "gorm.io/gorm" ) // SetupDBTest 创建一个基于 SQLite 内存数据库的 GORM 连接 func SetupDBTest(t *testing.T) *gorm.DB { // 使用 SQLite 内存数据库 gormDB, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{}) if err != nil { t.Fatalf("gorm 打开 SQLite 内存数据库失败: %v", err) } // 自动迁移数据表结构 err = gormDB.AutoMigrate( &m.User{}, &m.Whitelist{}, &m.Resource{}, &m.ResourcePss{}, &m.Proxy{}, &m.Channel{}, ) if err != nil { t.Fatalf("自动迁移表结构失败: %v", err) } // 设置全局数据库连接 q.SetDefault(gormDB) g.DB = gormDB return gormDB }