Comment testez-vous les règles Jboss Rules (Drools)?
-
05-07-2019 - |
Question
J'ai écrit quelques règles Drools pour mon application Seam et je me demande comment procéder pour les tester à l'unité. Quelqu'un a-t-il un exemple de code pouvant me montrer comment s'y prendre?
La solution
Ajoutez le code suivant à un test unitaire (JUnit, TestNG, etc.):
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new InputStreamReader(getClass().getResourceAsStream( "rules.drl")));
PackageBuilderErrors errors = builder.getErrors();
Assert.assertEquals(0, errors.getErrors().length);
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage(pkg);
StatefullSession session = ruleBase.newStatefulSession(false);
MyFactObject myFact = new MyFactObject();
session.insert(myFact);
session.fireAllRules();
Autres conseils
Envisagez de tester le "sucre" avec une TestRule
bibliothèque Junit.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow