54 lines
1.3 KiB
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)
|
|
}
|
|
})
|
|
}
|
|
} |