Si el código personalizado utiliza la interfaz IKLog para informar de los resultados de la prueba, podrá revisar dichos resultados en el historial de ejecuciones de la prueba. Si registra los veredictos de los puntos de verificación personalizados, dichos veredictos se reflejarán en el veredicto de panificación general.
En este apartado encontrará algunos ejemplos de lo que se puede hacer con el código personalizado:
En su código personalizado, utilice la interfaz IKLog para informar de los resultados de las pruebas. Esta interfaz es un componente del paquete com.ibm.rational.test.lt.logging. Los métodos IKLog son de dos tipos:
Cuando añada código personalizado a una prueba, verá lo siguiente en el editor de pruebas:
Si pulsa en Generar código, se creará un código personalizado de plantilla en la carpeta src del proyecto. Antes de generar la clase de plantilla, puede proporcionar un nombre de paquete distinto (recomendado, porque de lo contrario, el código personalizado se mantendrá en el mismo paquete, prueba, que el código de la prueba generado) y un nombre de clase descriptivo de la función ejecutada por el código. O bien puede volver a utilizar el código personalizado existente escribiendo el nombre del paquete y de la clase y, a continuación, abrir la clase pulsando en Código de la vista. Por ejemplo, si escribe test.custom.VerifyCustID como el nombre del paquete y de la clase, el código mostrado más adelante se generará en src/test/custom/VerifyCustID.java y se abrirá en el editor Java.
package test.custom; import com.ibm.rational.test.lt.kernel.logging.IKLog; /** * @author unknown */ public class VerifyCustID implements com.ibm.rational.test.lt.kernel.custom.ICustomCode { /** * Instances of this will be created using the no-arg constructor. */ public VerifyCustID() { } /** * @see com.ibm.rational.test.lt.kernel.custom.ICustomCode#exec(IKLog, java.lang.String[]) */ public String exec(IKLog log, String[] args) { return null; } }
Por omisión, la vista del navegador de prueba se abrirá cuando haya perspectivas de realizar una prueba. Normalmente ésta es la mejor vista para las pruebas de navegación porque excluye muchos archivos que no son importantes para los verificadores, incluido el contenido de la carpeta src. Es posible que cuando escriba el código personalizado desee abrir el navegador estándar o una vista de navegación Java, puesto que al hacerlo podrá navegar directamente por el código. (Puede abrir el código personalizado de la prueba de llamada seleccionándolo y pulsando el botón Vista.)
Las sentencias lógicas personalizadas y de registro figuran en el bloque exec de la parte inferior. Si escribe log. dentro de este bloque y pulsa Control y la barra espaciadora, el editor Java listará los métodos IKLog y visualizará sus Javadoc. Si desea manipular los valores de entrada de la prueba de llamada, trabaje en la matriz args, que contiene cualquier argumento especificado al añadir el código a la prueba: consulte los pasos del 4 al 6 del apartado Adición de código personalizado. La sentencia return devuelve opcionalmente un valor a la prueba de llamada.
Tal y como se puede observar en el apartado Registro de un solo mensaje, puede escribir un mensaje para el historial de ejecuciones con reportMessage directamente. Los otros métodos necesitan acceso a clases que crean objetos de suceso. Para obtener acceso a estas clases, añada una o más de estas sentencias de importación:
import org.eclipse.hyades.test.common.event.ExecutionEvent import org.eclipse.hyades.test.common.event.MessageEvent import org.eclipse.hyades.test.common.event.VerdictEvent
Si añade código personalizado, que contiene las sentencias de importación indicadas, a una prueba que se encuentra en un proyecto en el que no se ha ejecutado nunca una prueba, es posible que visualice errores de importación. Sin embargo, si al menos se ha ejecutado previamente una prueba en el proyecto, no se obtendrán errores. Eso se debe a que la ejecución de una prueba añade las bibliotecas conocidas necesarias para la ejecución, incluidas las clases indicadas en las sentencias de importación, a la vía de acceso de creación del proyecto.
La clase VerdictEvent es la más importante para el código personalizado, porque los veredictos registrados en el historial de ejecuciones con el método reportVerificationPoint se reflejan en el veredicto de aprobación/no aprobación de la prueba. Un veredicto de planificación se aprueba sólo si todas sus pruebas son correctas o si no se informa de los veredictos en ninguna prueba. En el ejemplo del apartado Registro de un suceso de veredicto se puede observar cómo se debe crear y registrar el suceso de un veredicto.
Valor del editor de planificaciones | Texto de IKLog |
---|---|
Todos | HISTORY_ALL |
Ninguno | HISTORY_NONE |
Planificación | HISTORY_SCHEDULE |
Página | HISTORY_PAGES |
Petición | HISTORY_REQUESTS |
En función de los valores del editor de planificaciones, los resultados se excluyen del historial de ejecuciones. Por lo tanto, es posible que un resultado registrado por el código personalizado no aparezca en el historial de ejecuciones. Utilice getHistoryLevel para obtener el valor del nivel del historial y wouldReportHistory para informar condicionalmente de un resultado basándose en el valor. (Si ejecuta una prueba individual directamente, el valor será HISTORY_ALL.)
Tema principal: Ampliación de pruebas con código Java personalizado