package cron import ( "context" "epic/internal/logic/i18n" "fmt" _ "github.com/gogf/gf/contrib/drivers/mysql/v2" _ "github.com/gogf/gf/contrib/nosql/redis/v2" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gctx" "github.com/gogf/gf/v2/os/genv" "os" "testing" ) func TestMain(m *testing.M) { // 必须在任何import和g.Cfg()调用前设置环境变量 genv.Set("GF_GCFG_FILE", "../../../../manifest/config/config.yaml") ctx := gctx.New() _ = g.Cfg().MustGet(ctx, "server.address") fmt.Println(g.Cfg().Get(ctx, "redis.default.address")) code := m.Run() os.Exit(code) } /** * 测试同步英雄数据 */ func TestI18n(t *testing.T) { _ = i18n.RefreshI18n(context.Background()) fmt.Println(i18n.Zh2En("湖畔魔女泰妮布里雅")) } /** * 测试同步英雄数据 */ func TestSyncHeroData(t *testing.T) { _ = i18n.RefreshI18n(context.Background()) thirdPartyDataSync := NewThirdPartyDataSync() err := thirdPartyDataSync.SyncHeroData(context.Background()) if err != nil { t.Errorf("expected success, got error: %v", err) } } /** * 测试同步神器数据 */ func TestSyncArtifactData_Success(t *testing.T) { _ = i18n.RefreshI18n(context.Background()) sync := NewThirdPartyDataSync() err := sync.SyncArtifactData(context.Background()) if err != nil { t.Errorf("expected success, but got error: %v", err) } } func TestInitI18nStaticToDB(t *testing.T) { //t.Skip("仅初始化时手动执行一次,谨慎运行!") ctx := context.Background() // 直接批量导入,不做重复检查 err := i18n.ImportI18nFromMap(ctx, "zh", i18n.I18nEnToZh, "init") if err != nil { t.Fatalf("导入静态i18n数据失败: %v", err) } t.Logf("静态i18n数据导入成功,共%d条", len(i18n.I18nEnToZh)) } func TestSyncI18nFromRemote(t *testing.T) { ctx := context.Background() logic := i18n.GetI18nLogic() err := logic.SyncI18nFromRemote(ctx) if err != nil { t.Fatalf("远程i18n数据同步失败: %v", err) } t.Logf("远程i18n数据同步成功") } func TestFixHeroAndArtifactNameToChinese(t *testing.T) { ctx := context.Background() err := FixHeroAndArtifactNameToChinese(ctx) if err != nil { t.Fatalf("修复英雄/神器中文名失败: %v", err) } t.Logf("修复英雄/神器中文名成功") }