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