Java:单元测试图像操作

标签 java unit-testing image image-processing

我有一个处理图像的方法。该方法获取一张图像,对其执行一些操作并返回另一张图像:

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

我不确定是否有为此类 Activity 编写单元测试的最佳实践。首先应该检查图像的哪些特征?如何检查图像是否未损坏?例如,有一次我遇到 GIF 图像在使用 ImageIO 读取并保存回来后颜色反转的问题。

最佳答案

获取原始图像 (x),运行转换并保存处理后的图像 (y),亲自检查 y 是你想测试什么。如果你的 src/test/resources 中同时有 xy,那么你的测试就是 F(x) = y 目录,您可以将 y 与您的测试输出进行比较。

您可能还对 http://pdiff.sourceforge.net/ 感兴趣(C++ 而不是 Java)如果您不需要测试 100% 相等性。

编辑:也看到这个问题 - Image comparison - fast algorithm

关于Java:单元测试图像操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3685911/

相关文章:

javascript - Jest - 调用模拟函数不计算在内

ruby-on-rails - 在 Rails 应用程序中查找未使用的图像?

javascript - 需要对以下代码进行哪些更改才能设置 jQuery slider 的滑动暂停时间?

java - 在退出时清理程序并处理 GC

Java - 正确的线相交检查

Java密码套件

将图像转换为原始位图文件

java - "Thread-19"java.lang.IllegalStateException : Not on FX application thread; currentThread = Thread-19

c# - 如何最小化返回 "this"的方法

objective-c - Xcode 4 : Asynchronous testing? 中的 SenTestingKit