Cette section explique la prise en charge de CER pour la génération de classes de test de jeu de règles. Nous pouvons tester notre jeu de règles Sample Benefit à l'aide de cette prise en charge. Pour cet exemple, nous allons examiner la règle "Personne éligible".
La classe
Person dispose de 2 attributs qui doivent être spécifiés pour que l'attribut eligible puisse être calculé pour une personne donnée.
- age : nombre permettant de consigner l'âge d'une personne.
- isStudent : valeur booléenne permettant d'indiquer si la personne est un étudiant.
Person dispose d'un attribut dérivé, comme indiqué ci-dessous.
- eligible : valeur booléenne permettant d'indiquer si une personne est éligible pour "Sample Benefit".
Les étapes suivantes montrent comment exécuter le générateur de code de test CER sur le fichier
SampleBenefit.xml que nous avons extrait dans la section
Extraction des jeux de règles à partir de la base de données pour le test.
- Ouvrez une invite de commande dans votre répertoire Curam/EJBServer.
- Exécutez build creole.generate.test.classes pour générer des classes de test à partir de votre jeu de règles. Cette cible s'exécute sur les jeux de règles dans le répertoire CREOLE_Rule_Sets pour chaque composant.
- Le générateur de code CER place son résultat dans le répertoire EJBServer/build/svr/creole.gen/source. Actualisez votre environnement de développement pour l'afficher.
Le code généré est conçu pour être utilisé uniquement dans les environnements de test dans lesquels il est impératif de recompiler les changements apportés au code. Le code généré n'est pas transférable d'une machine à une autre, car il contient des chemins d'accès absolus vers les jeux de règles sur la machine locale. En particulier, vous ne devez pas utiliser le code généré dans un environnement de production dans lequel les jeux de règles peuvent changer de manière dynamique.
Conseil : Vous devez régénérer vos classes de test si vous apportez des changements structurels à vos jeux de règles. Par exemple,
- création d'un nouveau jeu de règles ou suppression d'un jeu de règles existant ;
- ajout d'une nouvelle classe de règles à un jeu de règles ou suppression d'une classe de règles existante d'un jeu de règles ;
- ajout d'un nouvel attribut de règle à une classe de règles ou suppression d'un attribut de règle existant d'une classe de règles ;
- changement de la valeur "extends" pour une classe de règles existante ; et/ou
- changement du type de données d'un attribut.
Vous n'avez pas besoin de régénérer les classes de test si vos changements sont limités à l'implémentation d'un attribut de règle (c.-à-.d. ses expressions de dérivation). Les dérivations sont toujours traitées de manière dynamique à partir du jeu de règles lors de l'exécution et ne sont pas présentes dans les classes de test générées.