Testfragment-Datenelemente

Die Datenelemente eines Fragments setzen sich aus den Namen und Typen der Datenelemente zusammen, auf die der Quellcode des Fragments verweisen kann.

Die Spezifikation von Datenelementen ist optional. Ein Fragment kann mehr als ein Datenelement enthalten, jeder Elementtyp kann jedoch nur einmal vorkommen.

Ein Datenelement enthält die folgenden Eigenschaften:
Eigenschaft Beschreibung
Datentyp Erforderlich. Die verfügbaren Typen werden in folgender Tabelle aufgelistet.
Name Erforderlich. Muss einen gültigen Java-Variablennamen angeben. Der Testfragment-Quellcode verwendet diesen Namen, um auf die angegebenen Daten zu verweisen.
In der folgenden Tabelle sind die Datentypen aufgelistet und beschrieben, die über den Probekit-Editor verfügbar sind:
Datentyp Typ Beschreibung
className Zeichenfolge

Der Klassenname der gestesteten Methode enthält den Paketnamen in internem Format bei Methodentests; der Klassenname der aufgerufenen Methode bei Aufrufsitetests.

Beispiel: org/eclipse/tptp/SomeClass

methodName Zeichenfolge

Der Methodenname der gestesteten Methode in internem Format bei Methodentests; der Methodenname der aufgerufenen Methode bei Aufrufsitetests.

Konstruktoren haben den Methodennamen <init>, und statische Klasseninitialisierungsoperatoren haben<clinit> als Methodennamen.

methodSig Zeichenfolge

Das Methodenargument und die Kennung der Rückgabeart in internem Format. Nicht gültig für staticInitializer-Fragmente.

Beispiel: (Ljava/lang/String;)I

thisObject Objekt

Das this-Objekt (für Exemplardefinitionsmethoden), das an die getestete Methode übermittelt wurde. Nicht gültig für staticInitializer-Fragmente.

thisObject ist null für statische Methoden, für entry-Fragmente, die auf Konstruktoren angewendet werden, sowie für exit-Fragmente, die auf Konstruktoren angewendet werden, wenn der Konstruktor eine Ausnahmebedingung auslöst.

args Objekt[]

Eine Feldgruppe mit Object-Verweisen, welche die Argumente der getesteten Methode darstellt. In dieser Feldgruppe gibt es für jedes Methodenargument ein Element (das Argument this nicht mit eingeschlossen). Argumente, die Basiselementtypen sind, werden in temporäre Objekte des entsprechenden Referenztyps eingebunden, zum Beispiel: Integer für int. Wenn die Methode keine Argumente enthält, entspricht die Größe der Object[]-Feldgruppe null.

Beachten Sie, das Konstruktoren für nicht-statische, untergeordnete Klassen ein verdecktes Argument pro "Unterordnungsebene" haben, so dass die Argumentenfeldgruppe mehr Elemente enthält, als im Quellcode angezeigt werden. Nicht gültig für staticInitializer-Fragmente.

returnedObject Objekt Eine Referenz auf das Objekt, das zurückgegeben wird. Dieser Typ steht nur in exit- und afterCall-Fragmenten zur Verfügung. Wenn der Rückgabetyp der getesteten Methode ein Basiselementtyp ist, wird der zurückgegebene Wert in ein temporäres Objekt des entsprechenden Referenztyps eingebunden. Wenn die Methode void ist (gibt keinen Wert zurück) oder aufgrund einer Ausnahmebedingung geschlossen wird, nimmt returnedObject den Wert null an.
exceptionObject Element der Throwable-Klasse Eine Referenz zum ausgelösten Ausnahmeobjekt. Dieser Typ steht nur catch- und exit-Fragmenten zur Verfügung. Wenn die Methode normal verlassen wird, nimmt exceptionObject den Wert null an.
isFinally Boolesch Eine Markierung, die anzeigt, ob das Fragment von einer finally-Klausel (wahr) oder von einer catch-Klausel (falsch) aufgerufen wurde. Nur gültig in catch-Fragmenten.
staticField (unterschiedlich) Das Objekt, auf welches das statische Feld verweist. Sein Typ ist derselbe, der im Objekt staticField angeben wurde. Dies gilt nur dann, wenn der Test ein staticField deklariert. (Siehe Beispiel für einen staticField- und staticInitializer-Test.) Gilt nicht für callsite-Tests.
classSourceFile Zeichenfolge Die Informationen über den Quellendateinamen, die von den Debug-Attributen der Klassendatei zur Verfügung gestellt werden. Gibt es keine Quelleninformationen, nimmt classSourceFile den Wert null an. Für Java ist der Wert typischerweise nur der Dateiname, ohne Pfadinformationen. Gilt nicht für callsite-Tests.
methodNames Zeichenfolge

Eine codierte Liste mit Methodennamen und Kennungen. Die Reihenfolge der Methoden in dieser Liste ist dieselbe, wie die Reihenfolge der Methoden in methodLineTables und entspricht der Reihenfolge, die vom Datenelement methodNumber zurückgegeben wird. Die Liste enthält nicht die Namen der Methoden, die durch Probekit in die Klasse eingefügt wurden.

Die Zeichenfolge methodNames besteht aus einem oder mehreren Methodennamen und -kennungen, die durch das Pluszeichen ("+") von einander getrennt sind. Die Methodenkennungen sind in Java-internem Format. Zum Beispiel hat eine Klasse mit zwei Methoden, einem Standardkonstruktor und einer Methode run, die einen String annimmt und ein int wiedergibt, die folgende methodNames-Zeichenfolge: <init>()V+run(Ljava/lang/String;)I

Gilt nicht für callsite-Tests.

methodLineTables Zeichenfolge Eine codierte Liste mit Zeilennummern, die jeder ausführbaren Codeeinheit der Klasse entsprechen. Die Liste enthält nicht die Namen der ausführbaren Einheiten, die durch Probekit in die Klasse eingefügt wurden. Eine Erklärung der Codierung finden Sie unter Das Datenzeichenfolgeformat 'methodLineTables'. Gilt nicht für callsite-Tests.
methodNumber Ganze Zahl Die Indexzahl in der Tabelle methodNames für die Methode, in welche das Testfragment eingesetzt wurde. Nicht gültig für Aufrufsitetests oder staticInitializer-Fragmente.
executableUnitNumber Ganze Zahl Die Anzahl der ausführbaren Einheiten, in welche das Testfragment eingefügt wurde. Dieser Datentyp ist nur für die Testfragmente 'executableUnit' und 'catch' gültig. Wenn die Methode über keine Quellenzeileninformation verfügt, wird angezeigt, dass sie eine einzige ausführbare Einheit mit dem Wert null hat.
Beispiel:

Zur Eingabe von Testfragment-Datenelementen, wählen Sie 'Fragment' in der Baumstruktur aus, und verwenden Sie 'Hinzufügen' und 'Bearbeiten', um die Datenelemente im Bearbeitungsteilfenster einzugeben und zu definieren.

Ansicht der Datenelemente eines Fragments im Probekit-Editor

Zugehöriger Verweis
Java-Quellcode des Testfragments
Testfragmenttypen