Génération de classes de test

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.
  1. age : nombre permettant de consigner l'âge d'une personne.
  2. isStudent : valeur booléenne permettant d'indiquer si la personne est un étudiant.
Person dispose d'un attribut dérivé, comme indiqué ci-dessous.
  1. 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.
  1. Ouvrez une invite de commande dans votre répertoire Curam/EJBServer.
  2. 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.
  3. 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,

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.