1

我已经将带有 Pojo 模型的 .jar 文件导入到我的 Guvnor 存储库中,我想成为事实。其中一个类有一个带参数的构造函数,这是我无法在给定部分的测试场景中实例化的唯一事实。我得到一个指向该类的 InstantiationException。

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

我的问题是,对于在构造函数中有参数的事实,是否有任何特殊的方法我应该这样做,因为我可以用任何其他对象测试我的规则。

谢谢

4

1 回答 1

2

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

创建一个规则,用构造函数参数断言你的事实,并确保它只适用于测试用例

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

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

于 2013-09-12T18:41:20.720 回答