Jbossルール(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