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

StackOverflow https://stackoverflow.com/questions/1206443

Вопрос

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

Это было полезно?

Решение

Добавьте следующий код в модульный тест (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 .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top