¿Cómo pruebas unitarias de las reglas de Jboss Rules (Drools)?
-
05-07-2019 - |
Pregunta
He escrito algunas reglas de Drools para mi aplicación de Seam y me pregunto cómo hago para probar estas unidades. ¿Alguien tiene algún código de ejemplo que pueda mostrarme cómo hacer esto?
Solución
Agregue el siguiente código a una prueba de unidad (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();
Otros consejos
Considere algunas pruebas 'sugar' con un TestRule
library de Junit.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow