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.
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. |
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. |
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.