Drools - Использовать постоянную Java для имени правила drools - PullRequest
0 голосов
/ 01 мая 2018

Таким же образом на константы можно ссылаться в части правила when / then, и можно ли использовать строковую константу из файла java в качестве имени правила?

Вариант использования: мы выполняем рефакторинг наших правил drools src и тестируем файлы, чтобы устранить некоторые неудачные проектные решения, принятые ранее в проекте.

Мы хотели бы запустить определенное правило в тестах (в настоящее время мы устанавливаем тестируемые объекты фактов в полностью допустимое состояние, а затем изменяем поле, которое мы хотим протестировать в рамках модульных тестов "упорядочить" шаг, за которым следует запуск всех правил, управляемых объектом kieSession без состояния. Естественно, это усложняет тестирование, чем должно быть - например, если пропущено поле, не являющееся тестируемым, совершенно другое правило может вызвать ошибку, отличную от той, которая находится под тест, дающий нам ложные негативы).

Одна из наших идей состояла в том, чтобы использовать тестирование с сохранением состояния в сочетании с фильтром повестки дня, который соответствовал бы правилам на основе их имени.

То, что мы хотим сделать, - это использовать в файлах drl строки, хранящиеся в java-файле, которые будут храниться вместе с файлами drl и на которые будут ссылаться результаты тестов, что позволит сгенерировать определенное правило путем передачи общей константы в фильтр повестки дня. наряду с установкой только поля тестируемого объекта факта, а не с помощью способов создания полных, допустимых объектов.

До сих пор я видел некоторые посты о доступе к имени правила из самого правила, использовании констант для других разделов блока правила и т. Д., Но мало об этой проблеме.

Это что-то, что пускает слюни? Или есть другой способ получить имена правил извне файлов для использования в качестве тестового параметра?

...