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.
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. |
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. |
<data type="className" name="__class" />
Contenido por
El objeto de prueba Fragment
Tema padre: Consulta de Probekit