你如何对Jboss Rules(Drools)规则进行单元测试?
-
05-07-2019 - |
题
我已经为我的Seam应用程序编写了一些Drools规则,我想知道如何对这些进行单元测试。有没有人有任何示例代码可以告诉我如何去做?
解决方案
将以下代码添加到单元测试(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
库来考虑一些测试'糖'。
不隶属于 StackOverflow