Estoy escribiendo un juego y el motor de gráficos que lo acompaña en la parte superior de OpenGL en C ++. También soy fanático de los buenos procesos de codificación y las pruebas automatizadas. Las pruebas de código de gráficos + parecen bastante inmiscibles, ya que la salida a menudo es solo visual, o muy orientada a lo visual.
Por ejemplo, imagine analizar el flujo de imágenes sin procesar que se procesa en la pantalla byte a byte: necesita datos de prueba para comparar, lo cual es difícil de crear / obtener, y a menudo las imágenes renderizadas no son idénticas en un nivel de byte cuando se ejecuta en diferentes momentos: pequeños cambios en los algoritmos arruinarán por completo este enfoque.
Estoy pensando en crear un conjunto de pruebas unitarias visuales, en el que básicamente pueda renderizar diferentes escenas de prueba, mostrando cosas como mapeo de sombras, animación, etc., etc. Como parte de CI, estas escenas se mostrarán en un video archivo (o posiblemente dejarlo como un ejecutable) con diferentes métricas. Esto aún requeriría una inspección manual del archivo de video, pero al menos sería algo automatizado y estandarizado.
¿Qué piensas? ¿Espero que haya mejores maneras?