Guvnor测试场景:在构造函数中使用参数实例化事实

时间:2013-09-12 16:21:44

标签: java jboss drools guvnor

我已经使用Pojo模型将我想要成为事实的.jar导入到我的Guvnor存储库中。其中一个类有一个带参数的构造函数,它是我在“给定”部分中无法在Test Scenario上实例化的唯一事实。我得到一个指向该类的InstantiationException。

我已经尝试将字段添加到事实中并使用我想要的输入值填充它们但仍然没有。

我的问题是,如果有任何特殊的方法我应该在其构造函数中包含参数的事实,因为我可以使用任何其他对象测试我的规则。

由于

1 个答案:

答案 0 :(得分:2)

如果您的事实没有构造函数参数会更好,但您可以使用以下解决方法:

创建一个使用构造函数参数断言您的Fact的规则,并确保它仅适用于测试用例

when
    MyBreadcrumbThatDefinesTestRuns()
then
    MyFactWithConstructorArgs f = new MyFactWithConstructorArgs("arrgh")
    insert(f)
end

现在,您需要在名为MyBreadcrumbThatDefinesTestRuns的模型中定义一个事实,并将其插入到测试定义的Given部分的会话中。