Test statische Felder

Das statische Feld eines Tests fügt ein neues statisches Feld in jede Java-Klasse ein, die mindestens eine Methode enthält, die vom Test instrumentiert wird. Auf dieses statische Feld kann durch Testfragmente zugegriffen werden und es kann verwendet werden, um Informationen innerhalb getesteter Klassen zu speichern.

Der Begriff statisches Feld bezieht sich auf ein Feld einer Klasse, die als statisch deklariert ist. Manchmal wird es auch als statische Variable, als Klassenfeld oder als Klassenvariable (im Gegensatz zu Exemplarvariable) bezeichnet.

Die Spezifikation des statischen Feldes ist optional.

Ein statisches Feld hat die folgenden Eigenschaft:
Eigenschaft Beschreibung
type Erforderlich. Die Eigenschaft Typ gibt den Java-Typ der Zeichenfolge für das neue Feld an. Die Zeichenfolge muss ein vollständig qualifizierter Java-Klassenname sein; zum Beispiel: java/lang/StringBuffer. Der Zeichenfolgentyp muss einen gewöhnlichen Klassentyp darstellen, nicht einen Basiselementtyp oder einen Feldgruppentyp. Die benannte Klasse muss einen Standardkonstruktor haben (d.h. einen Konstruktor, der keine Argumente enthält) und für die getestete Klasse zugänglich ist.
Wenn Sie ein statisches Feld verwenden, wird das neue statische Feld in der getesteten Klasse initialisiert, indem der Standardkonstruktor für seinen Typ aufgerufen wird. Das Hinzufügen eines statischen Feldes des Typs StringBuffer entspricht dem Hinzufügen des folgenden Codes zu der Klasse, die sich außerhalb aller Methoden befindet:
static private StringBuffer fieldName = new StringBuffer();

Der Initialisierungsaufruf wird zu Beginn des Klasseninitialisierungsoperators für die getestete Klasse durchgeführt. Wenn die Klasse nicht über einen Klasseninitialisierungsoperator verfügt, wird ein solcher erstellt. Wenn der Test ein staticInitializer-Fragment enthält, so wird der staticInitializer-Fragmentcode ausgeführt, nachdem das statische Feld erstellt wurde.

Testfragmente können das Datenelement staticField verwenden, um auf das Objekt zuzugreifen, auf welches das statische Feld verweist. Fragmente können den Status des Objekts ändern, auf das sich das statische Feld bezieht. Sie können jedoch nicht bewirken, dass sich das statische Feld auf ein anderes Objekt bezieht.

Es kann nur ein statisches Feld für einen Test spezifiziert sein. Um die Spezifikation des statischen Feldes einzusetzen, damit mehr als ein Element in der getesteten Klasse gespeichert wird, verwenden Sie einen zusammengesetzten Objekttyp wie z.B. ArrayList, HashMap, oder HashSet, oder definieren und verwenden Sie eine neue Klasse mit der gewünschten Datenstruktur.

Beispiel:

Um ein statisches Feld einzugeben, klicken Sie mit der rechten Maustaste auf 'Test' im Baumstrukturteilfenster, und klicken Sie dann auf 'Neu' > 'Statisches Feld'. Geben Sie den Java-Typ im Bearbeitungsfenster ein.

Ein Eintrag für einen Test statische Feld. Der Eintrag lautet: /java/lang/StringBuffer

Zugehöriger Verweis
Testfragmenttyp 'staticInitializer'
Referenzinformationen
Testbeispiel für 'staticField' und 'staticInitializer'