Тестовый сценарий Гувнора: создание фактов с аргументами в конструкторе
Я импортировал в свой репозиторий Guvnor файл.jar с моделью Pojo того, что я хочу, чтобы быть фактами. Один из этих классов имеет конструктор с аргументами, и это единственный факт, который я не могу описать в сценарии тестирования в данном разделе. Я получаю исключение InstantiationException, указывающее на класс.
Я попытался добавить поля к факту и заполнить их входными значениями, которые я хочу, но все еще ничего.
У меня вопрос, есть ли какой-то особый способ, которым я должен делать это для факта, который имеет аргументы в своем конструкторе, так как я могу проверить свои правила с любым из других объектов.
Спасибо
1 ответ
Было бы лучше, если бы ваши факты не имели аргументов конструктора, но вы можете использовать следующий обходной путь:
Создайте правило, которое утверждает ваш Fact с аргументами конструктора, и убедитесь, что оно работает только в тестовых случаях.
when
MyBreadcrumbThatDefinesTestRuns()
then
MyFactWithConstructorArgs f = new MyFactWithConstructorArgs("arrgh")
insert(f)
end
Теперь вам нужно определить факт в вашей модели с именем MyBreadcrumbThatDefinesTestRuns
и вставьте его в свою сессию на Given
раздел определения теста.