Как вы проводите модульное тестирование правил Jboss Rules (Drools)?
Я написал несколько правил Drools для своего приложения Seam, и мне интересно, как мне пройти их модульное тестирование. У кого-нибудь есть пример кода, который может показать мне, как это сделать?
1 ответ
Решение
Добавьте следующий код в модульный тест (JUnit, TestNG и т. Д.):
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();
Рассмотрим тестирование "сахара" с помощью Junit TestRule
библиотека