Ich schreibe ein Spiel und die dazugehörige Grafik-Engine auf OpenGL in C ++. Ich bin auch ein Fan von guten Codierungsprozessen und automatisierten Tests. Grafikcode + Testen scheint ziemlich nicht mischbar zu sein, da die Ausgabe oft nur visuell oder sehr stark visuell orientiert ist.
Stellen Sie sich zum Beispiel vor, Sie analysieren den rohen Bildstrom, der Byte für Byte auf dem Bildschirm gerendert wird. Sie benötigen Testdaten zum Vergleichen, die schwer zu erstellen / zu erhalten sind, und oft sind die gerenderten Bilder auf einem nicht identisch Byte-Ebene, wenn zu verschiedenen Zeiten ausgeführt - kleine Änderungen in den Algorithmen werden diesen Ansatz vollständig zunichte machen.
Ich denke darüber nach, eine visuelle Unit-Testsuite zu erstellen, in der ich im Grunde genommen verschiedene Testszenen rendern und Dinge wie Shadow Mapping, Animation usw. usw. zeigen kann. Im Rahmen von CI würden diese Szenen dann zu einem Video gerendert Datei (oder möglicherweise als ausführbare Datei belassen) mit unterschiedlichen Metriken. Dies würde immer noch eine manuelle Überprüfung der Videodatei erfordern, aber zumindest würde dies etwas automatisiert und standardisiert sein.
Was denkst du? Ich hoffe, es gibt bessere Wege?