Как вы проводите модульное тестирование правил Jboss Rules (Drools)?

Я написал несколько правил Drools для своего приложения Seam, и мне интересно, как я буду проводить их модульное тестирование. У кого-нибудь есть пример кода, который может показать мне, как это сделать?


person Aaron Chambers    schedule 30.07.2009    source источник
comment
Я действительно понял это для себя. Просто хотел внести свой вопрос, а также ответить на сайт для всех, кто интересуется этим.   -  person Aaron Chambers    schedule 30.07.2009
comment
так что ответьте на свой вопрос. Вы можете получить значок самообучения ;)   -  person Samuel Carrijo    schedule 30.07.2009
comment
@samuelcarrijo - Я хотел, просто забыл. Спасибо за напоминание ;)   -  person Aaron Chambers    schedule 30.07.2009
comment
Теперь, если бы вы, ребята, могли только проголосовать за ответ, я могу получить этот значок;)   -  person Aaron Chambers    schedule 31.07.2009


Ответы (2)


Добавьте следующий код в модульный тест (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();
person Aaron Chambers    schedule 30.07.2009
comment
Я должен ждать 2 дня, прежде чем я смогу это сделать;) - person Aaron Chambers; 31.07.2009

Рассмотрите возможность тестирования «сахара» с библиотекой Junit TestRuledroolsassert.

person Mike    schedule 20.05.2019