【问题标题】:Check syntax errors in rule file of Drools检查 Drools 规则文件中的语法错误
【发布时间】:2012-10-13 00:50:34
【问题描述】:

我是 Drools Guvnor 的新手,并且已经使用它建立了一个基本的 rool 框架。我只想知道当前的 Drool 文件是否正确。

到目前为止,除了端到端运行之外,我别无他法。有什么可以立即检查编译问题的吗?

编辑:

当我们有语法错误时,例如,'string.Contains' 而不是 'string.contains' 验证/验证成功通过,'Build Package' 选项也是如此。如果我遗漏了什么,请告诉我。

除此之外,我对 QA 部分没有太多想法(事实上,我们还没有在那里进行任何测试)。

谢谢,

【问题讨论】:

    标签: drools drools-flow drools-guvnor


    【解决方案1】:

    在 Guvnor 你可以

    1) 通过Source -> Validate菜单验证单个规则,(在规则打开时可以看到)

    2) 使用 QA 部分定义和运行测试场景。 Guvnor manual 有一个很好的部分描述了它的使用。

    3) 使用包的 Edit 选项卡上的 Validate ConfigurationBuild Package 按钮。这将编译您包中的所有规则。

    我建议您在每次编辑规则时使用验证菜单,并编写覆盖 100% 规则的测试场景。

    【讨论】:

    • 当我们有语法错误时,比如说,'string.Contains' 而不是 'string.contains' 验证成功通过,第三个选项也是如此。如果我遗漏了什么,请告诉我。除此之外,我对 QA 部分不太了解(事实上,我们还没有在那里进行任何测试)。我会尝试的(任何好的教程/示例都会有所帮助)。谢谢!
    • 您可以查看 Drools 手册中关于测试场景的章节。 docs.jboss.org/drools/release/5.4.0.Final/drools-guvnor-docs/…你能提供一个带有语法错误的示例规则吗,drools 无法在验证时检测到?
    • if(string.Contains('hello')){} 虽然 'C' 在 'contains' 中应该是 'c',但 Drool 的 Validate/Verify 没有检测到它。
    • 我已经尝试过“包含”示例,Guvnor 5.4 给出了正确的错误消息。你能发布有问题的规则吗?
    • 我正在使用 Drools 5.3。会是这个原因吗?
    猜你喜欢
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多