aconf.setProperty("drools.agent.newInstance", "true"); -> This is telling the kagent to rebuild its internal kbase when a change in the resources is detected. Long story short, the kbase you are using in your tests is not changing because the kagent creates a new one internally. Try to use aconf.setProperty("drools.agent.newInstance", "false"); instead.