# Testing @go/vision `go/vision` 拥有完善的单元测试覆盖,确保在各种图像处理场景下的稳定性。 ## 运行测试 在 `vision` 目录下运行标准 Go 测试命令: ```bash go test -v . ``` ## 测试覆盖范围 * **Canvas & Drawing**: 验证基础绘图、颜色解析、图层叠加等功能。 * **Intelligence**: * `QRCode`: 验证二维码的生成与识别一致性。 * `Barcode`: 验证条形码 (Code128, UPC) 的生成与识别。 * `PHash`: 验证相似图片的指纹距离计算。 * **Captcha**: 验证图形验证码的生成。 * **Transform**: 验证缩放、旋转以及复杂的 `WarpPerspective` 透视变换。 * **Animation**: 验证 GIF 序列的合成。 ## 视觉回归测试 部分测试会生成临时的图片文件(如 `test.png`, `captcha.png`),测试脚本会自动清理这些文件。在开发新滤镜或绘图功能时,建议手动查看生成的图片以确保视觉效果符合预期。 ## 性能基准测试 可以使用以下命令运行基准测试: ```bash 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 视频测试外,该部分会自动跳过或提示引导)。