In the same way constants can be referenced in the when/then portion of a rule, and is it possible to use a string constant from a java file as the rule name?

用例是我们正在重构我们的drools规则src和测试文件,以清理项目早期做出的一些糟糕的设计决策 .

我们想在测试中触发一个特定的规则(目前我们正在设置被测试的事实对象处于完全有效状态,然后改变我们想要测试的字段作为单元测试的一部分“安排”步骤,然后通过触发由无状态kieSession对象驱动的所有规则 . 当然这些使得测试比应该更难 - 例如,如果错过的字段不是被测试的那个,则完全不同的规则可能导致除测试之外的错误,给我们假阴性) .

我们的一个想法是利用有状态的kiesession进行测试,结合议程过滤器,根据他们的名字匹配规则 .

我们想要做的是让drl文件使用存储在java文件中的字符串,该文件将与drl文件一起存储并从测试中引用,通过将共享常量传递给议程过滤器以及设置来启用特定规则只是被测事实对象的字段,而不是维护创建完整有效对象的方法 .

到目前为止,我已经看到一些关于从规则本身访问规则名称的帖子,使用常量用于规则块的其他部分等,但围绕上述问题很少 .

这是drools允许的东西吗?或者是否有另一种方法从文件外部检索规则名称以用作测试参数?