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 wantErr bool }{ { name: "test_image_360", imagePath: "/home/devbox/project/uploads/test_image.png", wantErr: false, }, { name: "test_image_100", imagePath: "/home/devbox/project/uploads/test_image_100.png", wantErr: false, }, { name: "test_image_50", imagePath: "/home/devbox/project/uploads/test_image_50.png", wantErr: false, }, } // 运行测试用例 for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { // 设置图片并获取OCR识别结果 err = ocr.client.SetImage(tt.imagePath) if err != nil { t.Fatalf("Failed to set image: %v", err) } text, err := ocr.client.Text() if err != nil { t.Fatalf("Failed to get OCR text: %v", err) } t.Logf("OCR recognized text:\n%s", text) project, points, rep, err := ocr.ExtractInfo(tt.imagePath) if err != nil { t.Fatalf("Failed to extract info: %v", err) } // 输出识别结果 t.Logf("识别结果 - 项目名称: %s, 点数: %d, 代表处: %s", project, points, rep) }) } }