En esta sección se explica el soporte de CER para generar clases de prueba de conjuntos de reglas. Podemos probar nuestro conjunto de reglas Prestación de muestra utilizando este soporte. Para este ejemplo, vamos a examinar la regla "Persona elegible".
La clase
Person tiene 2 atributos que deben especificarse para calcular el atributo "eligible" para una persona.
- age - un número para indicar la edad de una persona.
- isStudent - un valor booleano para indicar si la persona es un estudiante.
La
Persona tiene un atributo derivado como se indica a continuación.
- eligible - valor booleano para indicar si una persona es elegible para la "Prestación de muestra"
Los pasos siguientes consisten en ejecutar el generador de códigos de prueba de CER en el archivo
SampleBenefit.xml que hemos extraído en el apartado
Extracción de conjuntos de reglas de la base de datos para realizar pruebas.
- Abra un indicador de mandatos en el directorio Curam/EJBServer.
- Ejecute build creole.generate.test.classes para generar clases de prueba a partir del conjunto de reglas. Este destino se ejecuta en los conjuntos de reglas del directorio CREOLE_Rule_Sets para cada componente.
- El generador de códigos CER colocará su salida en el directorio EJBServer/build/svr/creole.gen/source, renueve el entorno de desarrollo para verlo.
El código generado sólo está orientado al uso en entornos de prueba donde volver a compilar los cambios del código resulta sencillo. El código generado no es portable entre máquinas, porque contiene vías de acceso absolutas a los conjuntos de reglas de la máquina local. Concretamente, no debe utilizar el código generado en ningún entorno de producción en el que los conjuntos de reglas puedan cambiar dinámicamente.
Consejo: Debe volver a generar las clases de prueba si se realizan cambios estructurales en los conjuntos de reglas, por ejemplo
- crear un conjunto de reglas nuevo o eliminar un conjunto de reglas existente;
- añadir una clase de regla nueva a un conjunto de reglas o eliminar una clase de regla existente a un conjunto de reglas;
- añadir un atributo de regla nuevo a una clase de regla o eliminar un atributo de regla existente de una clase de regla;
- cambiar el valor "extends" para una clase de regla existente; y/o
- cambiar el tipo de datos de un atributo.
No es necesario que vuelva a generar las clases de prueba si los cambios están limitados a la implementación de un atributo de regla (es decir, sus expresiones de derivación). Las derivaciones siempre se procesan dinámicamente a partir del conjunto de reglas en tiempo de ejecución y no están presentes en las clases de pruebas generadas.