【问题标题】:How do you unit test Jboss Rules (Drools) rules?你如何对 Jboss 规则(Drools)规则进行单元测试?
【发布时间】:2010-11-15 10:34:27
【问题描述】:

我已经为我的 Seam 应用程序编写了一些 Drools 规则,我想知道如何对这些进行单元测试。有人有任何示例代码可以告诉我如何去做吗?

【问题讨论】:

  • 我实际上已经为自己解决了这个问题。只是想提出这个问题,并为其他对此感到疑惑的人提供该网站的答案。
  • 所以回答你自己的问题。您可能会获得自学者徽章;)
  • @samuelcarrijo - 我本来想,只是忘了。感谢您的提醒;)
  • 现在,如果你们只能投票给答案,我就能得到那个徽章;)

标签: unit-testing seam drools jboss-rules


【解决方案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();

【讨论】:

  • 我必须等待 2 天才能这样做;)
【解决方案2】:

考虑使用 Junit TestRule 库 - droolsassert 进行一些“糖”测试。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 2013-07-15
    • 2019-01-12
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多