2010-09-10 73 views
7

我有一个处理图像的方法。该方法需要一个形象,在它执行一些操作和返回另一个形象:Java:单元测试图像操作

public BufferedImage manipulateImage (Image image) { 
    ... 
} 

我不知道是否有编写单元测试对这类活动的最佳做法。首先应该检查图像的哪些特征?如何检查图像是否被破坏?例如,当GIF图像在ImageIO中读取后变为颜色倒置并保存回来时,我遇到了问题。

回答

5

得到您的原始图像(x),运行转换并保存操纵图像(y),身体检查自己y是你想测试。然后,您的测试是F(x) = y,如果您在src/test/resources目录中同时有xy,则可以将y与测试的输出进行比较。

您可能也有兴趣http://pdiff.sourceforge.net/(C++不是Java)你应该不需要测试100%的相等性。

编辑:又见这个问题 - Image comparison - fast algorithm

+0

+1 - 非常有用的参考资料 – 2010-09-10 16:23:54