gpt4 book ai didi

junit - 使用junit进行Drools测试

转载 作者:行者123 更新时间:2023-12-04 03:02:32 25 4
gpt4 key购买 nike

使用junit测试drools规则的最佳实践是什么?

到目前为止,我们使用 junit 和 dbunit 来测试规则。我们将样本数据放入 hsqldb。我们有几个规则包,到项目结束时,很难做出好的测试输入来测试某些规则而不触发其他规则。

所以确切的问题是如何将 junit 中的测试限制为一个或多个特定的测试规则?

最佳答案

我个人使用单元测试来测试孤立的规则。我不认为它有什么太大的问题,只要你不陷入一种错误的安全感,即你的知识库正在发挥作用,因为孤立的规则正在发挥作用。测试整个知识库更为重要。

您可以使用 AgendaFilter 编写隔离测试和无状态 session

StatelessSession session = ruleBase.newStatelessSesssion();

session.setAgendaFilter( new RuleNameMatches("<regexp to your rule name here>") );

List data = new ArrayList();
... // create your test data here (probably built from some external file)

StatelessSessionResult result == session.executeWithResults( data );

// check your results here.

代码来源: http://blog.athico.com/2007/07/my-rules-dont-work-as-expected-what-can.html

关于junit - 使用junit进行Drools测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3862389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com