Testbeispiel für ein Fragment im Klassenbereich

Dieses Beispiel veranschaulicht die Verwendung des Fragments im Klassenbereich in einem Test.

In diesem Beispiel zählt ein Test die Anzahl aller jemals erstellten Exemplare aller Klassen in Paketen, die dem Muster der com.sample* Platzhalterzeichen entsprechen, und erstattet eine Bericht über jede hundertste Exemplarerstellung.

Das Fragment im Klassenbereich bestimmt einen Zähler, der als statisches Feld des Typs 'int' in der Klasse erscheint, in die das Fragment entry kompiliert wird. Das Fragment bestimmt außerdem einen statischen Initialisierungsoperator für die Klasse fragment, der einen Bericht darüber erstellt, dass der Test geladen wurde. Beachten Sie, dass die Elemente des Fragments im Klassenbereich in die generierte Testklasse eingebaut werden, und nicht in die Klassen, auf die sich der Test bezieht. Verwenden Sie Testfragmente des Typs staticInitializer, um statische Felder oder eine statische Initialisierungsoperatorlogik in die Klassen einzufügen, auf die sich der Test bezieht.

Der Test wird durch die folgenden Einträge im Probekit-Editor definiert:
  • Java-Code für Fragment im Klassenbereich (wählen Sie 'Test' im Baumstrukturteilfenster aus, um diesen Wert einzugeben):

    static public int entry_counter = 0;
    static int counter = 0;
    static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }

  • Ziel (um diese Werte einzugeben, wählen Sie 'Ziel' im Baumstrukturteilfenster, und klicken Sie auf 'Bearbeiten'):
    • Zieltyp: include
    • Paket: com.sample* (Verwenden Sie hier einen echten Paketnamen.)
    • Klasse: *
    • Methode: <init>
    • Signatur: *
  • Ziel (um diese Werte einzugeben, klicken Sie auf 'Hinzufügen', und dann im Bearbeitungsfenster auf 'Bearbeiten':
    • Zieltyp: exclude
    • Paket: *
    • Klasse: *
    • Methode: *
    • Signatur: *
  • Fragment (wählen Sie 'Fragment' im Baumstrukturteilfenster aus, um die folgenden Werte einzugeben):
    • Fragmenttyp: entry
    • Java-Code:

      ++counter;
      if (counter % 100 == 0)
        System.out.println("[" + counter + " instances of classes in com.sample package so far]");

Zugehöriger Verweis
Testfragmente im Klassenbereich