Am 20. Juli 2015 beschrieb Unity die Testframeworks von IL2CPP. Das Team setzt bei dem Scripting-Backend auf testgetriebene Entwicklung und nutzt eine umfangreiche Sammlung automatisierter Tests, um Änderungen am Compiler und an der Laufzeit abzusichern.
IL2CPP verarbeitet die Eingaben der ECMA-335-Spezifikation in einem vergleichsweise klar begrenzten Rahmen. Diese Eigenschaft passt laut Unity gut zu einem Test-first-Ansatz. Viele Tests entstehen vor dem Produktionscode und müssen zunächst erwartungsgemäß fehlschlagen. Erst danach implementiert das Team die Funktion, die den Test erfolgreich machen soll.
Test suite deckt generierten Code ab
Die Test suite läuft schnell und prüft große Teile des vorhandenen Verhaltens. Unity verweist dabei auf die lange Entwicklungsgeschichte des Backends. Der Code von IL2CPP hat sich seit den ersten öffentlichen Versionen verändert, viele ursprüngliche Tests sind jedoch erhalten geblieben. Der frühere technische Überblick zu IL2CPP beschreibt die Aufteilung in Ahead-of-Time-Compiler und Laufzeitbibliothek.
Tests grenzen Fehler schneller ein
Unity nennt zwei konkrete Vorteile. Bestehen die Tests nach einer Codeänderung, sind Regressionen weniger wahrscheinlich. Treten Fehler auf, liegen die Ursachen eher in noch nicht implementierten Bereichen oder in Fällen, die bisher nicht berücksichtigt wurden. Die Fehlersuche kann sich dadurch auf einen kleineren Teil des Codes konzentrieren.
