vision/TEST.md

1.4 KiB

Testing @go/vision

go/vision 拥有完善的单元测试覆盖,确保在各种图像处理场景下的稳定性。

运行测试

vision 目录下运行标准 Go 测试命令:

go test -v .

测试覆盖范围

  • Canvas & Drawing: 验证基础绘图、颜色解析、图层叠加等功能。
  • Intelligence:
    • QRCode: 验证二维码的生成与识别一致性。
    • Barcode: 验证条形码 (Code128, UPC) 的生成与识别。
    • PHash: 验证相似图片的指纹距离计算。
  • Captcha: 验证图形验证码的生成。
  • Transform: 验证缩放、旋转以及复杂的 WarpPerspective 透视变换。
  • Animation: 验证 GIF 序列的合成。

视觉回归测试

部分测试会生成临时的图片文件(如 test.png, captcha.png),测试脚本会自动清理这些文件。在开发新滤镜或绘图功能时,建议手动查看生成的图片以确保视觉效果符合预期。

性能基准测试

可以使用以下命令运行基准测试:

go test -bench .

以下是在 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz 环境下的基准测试结果:

测试项 耗时 (ns/op)
WarpPerspective 7,079,540
PHash 958,618
ExtractPalette 402,176

所有测试均遵循 @go 基础设施标准,无外部系统依赖(除 FFmpeg 视频测试外,该部分会自动跳过或提示引导)。