Testfragment 'executableUnit'

Das Testfragment 'executableUnit' ermöglicht eine aufgabenspezifische Datenerfassung für Methoden, die mit den Ziel- und Filterspezifikationen des Tests übereinstimmen, und für die Quellcodeinformationen zur Verfügung stehen.

Ein Aufruf dieser Fragmentart wird vor jeder "ausführbaren Einheit" in der Zielmethode eingefügt. Bei Methoden, deren Ziel- und Filterspezifikationen mit denen des Tests übereinstimmen, für die aber keine Quellcodeinformationen vorliegen, wird das Fragment einmal, nämlich zu Beginn der Methode, eingefügt.

executableUnit-Fragmente können alle Datenelementtypen verwenden, außer returnedObject, exceptionObject, isFinally, und thisObject. Vor allem können sie aber das Datenelement executableUnitNumber verwenden, das die Nummer der ausführbaren Einheit enthält, die kurz davor steht, ausgeführt zu werden.

Die Anzahl der ausführbaren Einheiten in einer Methode und in den Zeilentabellen enthält keine ausführbaren Einheiten, die von Probekit in die Methode eingefügt wurden.

Ausführbare Einheiten und Basisblocks

Eine ausführbare Einheit beginnt am Anfang eines jeden Basisblocks, sowie bei Bytecode, dessen Quellenzeilennummer sich von der des vorherigen Bytecodes unterscheidet. Ein Basisblock ist ein Bereich mit Bytecodeanweisungen, in den weder hinein noch hinaus verzweigt werden kann. Wenn die erste Anweisung in einem Basisblock ausgeführt wird, werden alle Anweisungen ausgeführt, so dass die Anweisungen as einzelne Gruppe angesehen werden.

Basisblöcke enden u.a. mit branch-, call-, throw-, und return-Anweisungen.

Manche Anweisungen wie z.B. "divide" werden nicht als das Ende einer ausführbaren Einheit angesehen, obwohl sie eine Ausnahmebedingung auslösen können. Dies ist ein weiteres Merkmal, das eine ausführbare Einheit von einem Basisblock unterscheidet.

Wenn einer Java-Methode keine Quelleninformation zugeordnet ist, so wird die gesamte Methode als eine einzelne ausführbare Einheit angesehen.

Übergeordnetes Thema: Probekit-Beispiele

Verwandte Verweise
Das Fragmenttestobjekt
Das Datentestobjekt

Referenzinformationen
Beispiel für 'ExecutableUnit'

Copyright IBM Deutschland GmbH und andere 2000, 2004.