Beispiel für 'FragmentAtClassScope'

Dieses Beispiel veranschaulicht, wie das Testfragment 'FragmentAtClassScope' eingesetzt wird.

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 einen Bericht über jede hundertste Exemplarerstellung.

"fragment at class scope" 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 ist. Beachten Sie, dass die Elemente im Abschnitt fragmentAtClassScope in die generierte Testklasse eingebaut werden, und nicht in die Klassen, auf die sich der Test bezieht. Verwenden Sie die Objekte staticField und staticInitializer, um statische Felder oder eine statische Initialisierungsoperatorlogik in die Klassen einzufügen, auf die sich der Test bezieht.

Um diesen Mustercode zu verwenden, ändern Sie package="com.sample*" im Zielobjekt, so das es sich auf den tatsächlichen Paketnamen bezieht.

Beachten Sie, dass Sie zur Verwendung der Zeichen & und < in XML die Zeicheneinheiten &amp; und &lt; wie im Beispiel dargestellt angeben müssen.

<?xml version="1.0" encoding="ASCII"?>
<probekit>
   <probe>
      <fragmentAtClassScope>
         static public int entry_counter = 0;
         static int counter = 0;
         static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }
      </fragmentAtClassScope>
      <target type="include" package="com.sample*" method="&lt;init>" />
      <target type="exclude" package="*" />
      <fragment type="entry">
         <code>
            ++counter;
            if (counter % 100 == 0)
              System.out.println("[" + counter + " instances of classes in com.sample package so far]");
         </code>
      </fragment>
   </probe>
</probekit>

Übergeordnetes Thema: Probekit-Beispiele

Verwandte Verweise
Das Testobjekt 'FragmentAtClassScope'

Copyright IBM Deutschland GmbH und andere 2000, 2004.