El objeto de prueba Data

Los objetos de prueba Data contienen los nombres y los tipos de elementos de datos a los que hace referencia el código fuente en el objeto Code de un fragmento.

El objeto Data es opcional. Un fragmento de prueba puede contener más de un objeto Data, pero dos objetos Data de un fragmento no pueden tener tener el mismo tipo o nombre.

El objeto Data incluye las siguientes propiedades:
Propiedad Descripción
name Obligatoria. Debe especificar un nombre de variable Java válido.
type Obligatoria. Los tipos disponibles se muestran en la tabla siguiente.
La tabla siguiente muestra y describe los tipos e indica el tipo de datos para cada tipo:
Tipo Tipo de datos Descripción
className String

El nombre de clase del método probado, incluido el nombre de paquete, en formato interno.

Ejemplo: org/eclipse/hyades/SomeClass

methodName String

El nombre de método del método probado, en formato interno. No es válido para fragmentos staticInitializer.

Los constructores tienen el nombre de método <init>, los inicializadores de clase estáticos tienen <clinit> como nombre de método.

methodSig String

La firma de tipo de retorno y argumento del método, en formato interno.No es válido para fragmentos staticInitializer.

Ejemplo: (Ljava/lang/String;)I

thisObject Object

El objeto this (para métodos de instancia) que se ha pasado al método probado. No es válido para fragmentos staticInitializer.

thisObject será null para métodos estáticos, para fragmentos entry que se aplican a constructores y para fragmentos exit aplicados a constructores cuando el constructor lanza una excepción.

args Object[] Una matriz de referencias a Object que representan los argumentos del método probado. Hay un elemento de esta matriz para cada argumento del método (sin contar el argumento this). Los argumentos que son tipos primitivos están enlazados a objetos temporales del tipo de referencia apropiado, como por ejemplo: Integer para int. Si el método no acepta argumentos, será una matriz Object[] de tamaño cero. Tenga en cuenta que los constructores de clases internas no estáticas tienen un argumento oculto por nivel "interno", de modo que la matriz de argumentos contendrá más elementos de los que aparecen en el código fuente. No es válido para fragmentos staticInitializer.
returnedObject Object Una referencia al objeto que se devuelve. Este tipo sólo está disponible para fragmentos exit. Si el tipo de retorno del método probado es un tipo primitivo, el valor devuelto está enlazado a un objeto temporal del tipo de referencia apropiado. Si el método es void (no devuelve un valor) o si sale por una excepción, returnedObject será null. Sólo es válido en fragmentos afterCall.
exceptionObject Throwable Una referencia al objeto de excepción que se lanza. Este tipo sólo está disponible para fragmentos catch y exit. Si el método sale normalmente, exceptionObject será null.
isFinally boolean Un distintivo que indica si el fragmento se ha llamado desde una cláusula finally (true) o desde una cláusula catch (false). Sólo es válido en fragmentos catch.
staticField (varía) El objeto al que hace referencia el campo estático. Su tipo es el mismo tipo que se declaró en el objeto staticField. Sólo es válido si la prueba tiene el objeto staticField. No es válido para pruebas de sitio de llamada.
classSourceFile String La información de nombre de archivo fuente disponible en los atributos de depuración del archivo de clase. Si no se dispone de información de fuente, classSourceFile será null. Para Java, el valor suele ser simplemente el nombre de archivo, sin información de vía de acceso. No es válido para pruebas de sitio de llamada.
methodNames String

Una lista codificada de nombres y firmas de método. El orden de los métodos de esta lista es el mismo que el orden de los métodos de methodLineTables, y es el mismo que la ordenación reflejada por el elemento de datos methodNumber. La lista no incluirá los nombres de los métodos que Probekit ha insertado en la clase.

La serie methodNames está formada por uno o más nombres y firmas de método, separados por un signo más ("+"). Las firmas de método están formato interno Java. Por ejemplo; una clase con dos métodos, un constructor por omisión y un método run que acepta un tipo String y devuelve un int, tiene esta serie methodNames: <init>()V+run(Ljava/lang/String;)I

No es válido para pruebas de sitio de llamada.

methodLineTables String Una lista codificada de números de línea que se corresponden con cada unidad ejecutable de código de la clase. La lista no incluirá las unidades ejecutables que Probekit ha insertado en la clase. Para ver una explicación de la codificación, consulte la sección El formato de tipo serie methodLineTables. No es válido para pruebas de sitio de llamada.
methodNumber Integer El número de índice de la tabla methodNames para el método en el que se ha insertado el fragmento de prueba. No es válido para pruebas de sitio de llamada ni para fragmentos staticInitializer.
executableUnitNumber Integer El número de la unidad ejecutable en la que se ha insertado el fragmento de prueba. Este tipo de datos sólo es válido para los fragmentos de prueba executableUnit y catch. Si el método no tiene información de línea fuente, aparecerá como si tuviese una única unidad ejecutable, con el número cero.
Ejemplo
<data
   type="className"
   name="__class" />

Tema padre: Consulta de Probekit

Copyright IBM Corporation y otras empresas 2000, 2004.