Mittwoch, 6. Juni 2007

ABAP Unit

Nun geht es in grossen Schritten weiter mit ABAP Unit, dem neuen Tool für Modultests von SAP, verfügbar ab Basisrelease 7.0. Hier ein erstes Beispiel, ich werde meine Erfahrungen noch genauer dokumentieren. Das Beispiel soll nur zeigen, wie es funktioniert.

Nämlich so wie alle Unit Tests: Eine Sammlung von Testmethoden wird bei Wahl des Menüpunkts "Modultest" (an manchen Stellen geht auch die Kombination Strg+Shift+F10) automatisch abgearbeitet.

Die folgenden drei Screenshots - mit einem Klick können sie in Originalgrösse betrachtet werden - geben einen ersten Eindruck. Ich habe in einer Klasse einige Unit Tests eingebaut. Um zu zeigen, wie es funktioniert, habe ich nun absichtlich einen Fehler eingebaut, indem ich eine Zeile in der Methode modify_aufi() auskommentiert habe:



Nach Druck auf "Modultest" kommt ein umfassendes hierarchisches Protokoll. Zwei Methoden namens test_assign() (in zwei verschiedenen Testklassen gelegen, falls sich jemand wegen der gleichen Namen wundert) sind auf Fehler gelaufen Das Detailprotokoll meldet einen "Kritischen Prüffehler: AUFI wurde nicht aktualisiert". Das Fenster recht unten gibt die Abweichungen von erwartetem und tatsächlichem Wert an. Ausserdem kann man direkt an die Codestelle verzweigen, um
den Fehler zu analysieren. Die Fehlerursache liegt natürlich nicht in der Testmethode, sondern an einem anderen Ort. Da aber eine meiner letzten Änderungen den Fehler verursacht haben muss, weiss ich, wo ich den Breakpoint setzen muss, um den Fehler zu finden. Meist finde ich ihn bereits ohne Debugger, durch blosse Betrachtung meiner letzten Änderungen.



Nun mache ich die auskommentierte Zeile wieder aktiv. Wenn ich wieder "Modultest" wähle, wird das Protokoll ganz unscheinbar als Success-Meldung in der Statuszeile angezeigt. Wozu braucht man auch in diesem Fall ein detailliertes Protokoll.



Meine Erfahrungen mit ABAP Unit werden in den nächsten Tagen hier veröffentlicht werden.

Keine Kommentare :