good-news/services/ocr_service_test.go

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