Java:单元测试图像操作
我有一种处理图像的方法。该方法获取一个图像,对其执行一些操作,然后返回另一个图像:Java:单元测试图像操作,java,unit-testing,image,image-processing,Java,Unit Testing,Image,Image Processing,我有一种处理图像的方法。该方法获取一个图像,对其执行一些操作,然后返回另一个图像: public BufferedImage manipulateImage (Image image) { ... } 我不确定是否有为此类活动编写单元测试的最佳实践。首先应该检查图像的哪些特征?如何检查图像是否未损坏?例如,有一次我遇到了一个问题,当我用ImageIO读取GIF图像并保存后,GIF图像出现颜色反转。获取原始图像(x),运行转换并保存处理过的图像(y),亲自检查y是否是您想要测试的图像。然
public BufferedImage manipulateImage (Image image) {
...
}
我不确定是否有为此类活动编写单元测试的最佳实践。首先应该检查图像的哪些特征?如何检查图像是否未损坏?例如,有一次我遇到了一个问题,当我用ImageIO
读取GIF图像并保存后,GIF图像出现颜色反转。获取原始图像(x
),运行转换并保存处理过的图像(y
),亲自检查y
是否是您想要测试的图像。然后,您的测试是F(x)=y
,如果在src/test/resources
目录中同时有x
和y
,您可以将y
与测试的输出进行比较
如果不需要测试100%的平等性,您可能还对(C++而不是Java)感兴趣
编辑:另请参见此问题-