El objeto de prueba StaticField

El objeto de prueba StaticField inserta un nuevo campo estático en cada clase Java probada. Este campo estático es accesible para los fragmentos de prueba y puede utilizarse para almacenar información dentro de las clases probadas.

El término "campo estático" hace referencia a un campo de la clase que está declarada como estática. A veces recibe el nombre de "variable estática", "campo de clase" o "variable de clase" (en contraste a "variable de instancia").

El objeto StaticField es opcional.

El objeto StaticField tiene la siguiente propiedad:
Propiedad Descripción
type Obligatoria. La propiedad type especifica la serie de tipo Java del nuevo campo. La serie debe ser un nombre de clase Java totalmente calificado. Por ejemplo: java.lang.StringBuffer. La serie de tipo debe representar un tipo de clase normal, no un tipo primitivo ni un tipo de matriz. La clase con nombre debe tener un constructor por omisión que no acepte argumentos y que sea accesible para la clase probada.
Cuando se utiliza un objeto StaticField, el nuevo campo estático se inicializa en la clase probada llamando al constructor por omisión correspondiente a su tipo; es similar a añadir el siguiente código fuente a la clase del ámbito de clase:
static private type fieldName = new type();

La llamada de inicialización se realiza al principio del inicializador de clase de la clase probada. Si la clase no tiene un inicializador de clase, se creará uno. Si la prueba tiene un fragmento StaticInitializer, el código del fragmento StaticInitializer se ejecutará después de que se haya construido el campo estático.

Los fragmentos de prueba pueden utilizar el elemento de datos staticField para acceder al objeto al que hace referencia el campo estático. Los fragmentos pueden cambiar el estado del objeto al que hace referencia el campo estático, pero no pueden hacer que el campo estático haga referencia a un objeto distinto.

Una prueba sólo puede tener un objeto StaticField. Para utilizar StaticField con el fin de almacenar más de un elemento en la clase probada, utilice un tipo de objeto compuesto, como por ejemplo ArrayList, HashMap o HashSet, o bien defina y utilice una nueva clase con la estructura de datos que necesite.

Ejemplo
<staticField type="java.util.Date" />
<fragment type="staticInitializer">
   <data type="staticField" name="lastInstanceDate" />
   <code>
      . . . 
   </code>
</fragment>

Contenido por
El objeto Probe

Tema padre: Consulta de Probekit

Consulta relacionada
El fragmento de prueba staticInitializer

Información relacionada
Ejemplo de staticField y staticInitializer

Copyright IBM Corporation y otras empresas 2000, 2004.