即便是用Jess写Rule,测试代码总也是少不了的。虽然还不是很明了怎样的测试代码才更符合Jess的特性,但首先还是来关注下如何运行测试代码。

Jess In Action的附录中给出了一个测试代码的简易框架模板,但却是在Linux下运行的,测试结果的比较也是采用diff命令。在Win下总不能再折腾一把改用fc吧,总之还是不适应脚本环境。

将JUnit与Jess结合起来进行测试编码则更容易接受一点。Jess同Java能够无缝连接,测试代码可以完全采用Jess编写,而后只需要在Java中加载就可以了,batch命令就可以完成,

public class JessTest extends TestCase {
    public void testSample() {
       Rete rete = new Rete();
       rete.batch("Rule.clp");
    }   
}

使用JUnit只不过方便了测试结果的显示,看着Green Bar多少能够增添一点对代码的信心。

再进一步的话,可以继承TestCase修改runTest()方法,以实现对Jess代码的解析以及运行,这样整体看上去会更加简洁一些。