good-news/services/ocr_service_test.go

54 lines
1.3 KiB
Go

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)
}
})
}
}