2010-09-10 28 views
7

Tengo un método que se ocupa de una imagen. El método toma una imagen, realiza algunas manipulaciones sobre ella y devuelve otra imagen:Java: manipulación de imágenes de prueba unitaria

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

No estoy seguro de si hay algunas mejores prácticas de pruebas de la unidad de escritura para este tipo de actividades. ¿Qué características de la imagen deberían verificarse en primer lugar? ¿Cómo comprobar si la imagen no se echó a perder? Por ejemplo, una vez que me enfrenté a un problema cuando las imágenes GIF se invirtieron de color después de leerlas con ImageIO y volver a guardarlas.

Respuesta

5

Obtener la imagen original (x), ejecute el archivo de transformación y guardar la imagen manipulada (y), comprobar físicamente a sí mismo que y es lo que desea probar. Su prueba es entonces F(x) = y, si tiene ambos x y y en su directorio src/test/resources puede comparar y al resultado de su prueba.

Usted también podría estar interesado en http://pdiff.sourceforge.net/ (C++ no Java) en caso de que no tenga que comprobar la igualdad del 100%.

Editar: ver también esta pregunta - Image comparison - fast algorithm

+0

1 - referencias muy útiles –