package services import ( "testing" ) func TestOCRService_ExtractInfo(t *testing.T) { // 创建OCR服务实例 ocr, err := NewOCRService() if err != nil { t.Fatalf("Failed to create OCR service: %v", err) } defer ocr.Close() // 测试用例 tests := []struct { name string imagePath string wantProject string wantPoints int wantRep string wantErr bool }{ { name: "test_image", imagePath: "../uploads/test_image.jpg", // 预期结果将根据实际测试图片调整 wantProject: "乌省旗信创云桌面项目", wantPoints: 360, wantRep: "内蒙代表处", wantErr: false, }, } // 运行测试用例 for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { project, points, rep, err := ocr.ExtractInfo(tt.imagePath) if (err != nil) != tt.wantErr { t.Errorf("ExtractInfo() error = %v, wantErr %v", err, tt.wantErr) return } if project != tt.wantProject { t.Errorf("ExtractInfo() project = %v, want %v", project, tt.wantProject) } if points != tt.wantPoints { t.Errorf("ExtractInfo() points = %v, want %v", points, tt.wantPoints) } if rep != tt.wantRep { t.Errorf("ExtractInfo() representative = %v, want %v", rep, tt.wantRep) } }) } }