Debugging Test Cases

Unit test cases sind nicht ganz so einfach zu debuggen, wie von einer Befehlszeile aufgerufene Programme, weil der den Test Case ausführende Job nicht bekannt ist. Es könnte jeder laufende QZRCSRVS Job sein. Aus diesem Grund läßt sich der für das Debuggen erforderliche Service Job nicht starten.

Die Lösung für dieses Problem heißt "Service Entry Points" (SEPs). Mit Hilfe von SEPs lassen sich Fehler in Batchprozessen suchen, ohne dass der den Prozess ausführende Job bekannt ist. Sogar das den Job ausführende Benutzerprofil muss nicht zwingend bekannt sein.

Die Funktion zum Setzen eines Service Entry Points findet sich im Kontextmenü des Serviceprograms, welches die RPGUnit Test Suite abbildet, unter "Debug (Service Entry)". Der SEP wird gesetzt mit "Set Service Entry Point".

iRPGUnit Setzen SEP

Ausserdem muss sicher gestellt sein, dass sich das RPGUnit Plugin im "Debug Modus" befindet:

iRPGUnit Debug Modus Eingeschaltet

Der Debug Modus ist aktiv, wenn der kleine grüne Käfer, in der oberen rechten Ecke der RPGUnit View gedrückt ist.

Achtung: Ist der Debug Mode nicht aktiv, friert der RDi mit dem Erreichen des SEPs ein!

Jetzt kann der Unit Test wie gewöhnlich gestartet werden. Mit dem Erreichen des SEPs muss die die Frage nach dem Starten einer Debug Session mit "Ja" beantwortet werden:

iRPGUnit Bestätigen SEP

Danach lassen sich die benötigten Haltepunkte wie gewohnt setzen.