Тестирование решенийс помощью движка DMN
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
Чтобы легко протестировать DMN решения в тестах на JUnit, движок DMN предоставляет JUnit Rule (JUnit-правило). DmnEngineRule создает новвый движок DMN по умолчанию. Движок DMN может использоваться в test cases для парсинга и оценки решений.
public class DecisionTest {
@Rule
public DmnEngineRule dmnEngineRule = new DmnEngineRule();
@Test
public void test() {
DmnEngine dmnEngine = dmnEngineRule.getDmnEngine();
// load DMN file
InputStream inputStream = ...;
//create and add variables
VariableMap variables = Variables.createVariables();
DmnDecision decision = dmnEngine.parseDecision("decision", inputStream);
DmnDecisionResult result = dmnEngine.evaluateDecision(decision, variables);
// assert the result
// ...
}
}
Если вы хотите создать двидок DMN с кастомизированной конфигурацией, вы можете передать это в правило движка DMN.
public class DecisionTest {
@Rule
public DmnEngineRule dmnEngineRule = new DmnEngineRule(createCustomConfiguration());
public DmnEngineConfiguration createCustomConfiguration() {
// create and return custom configuration
return ...;
}
@Test
public void test() {
DmnEngine customDmnEngine = dmnEngineRule.getDmnEngine();
// ...
}
}
DmnDecisionResult реализует интерфейс
List<DmnDecisionResultEntries>, в то время как DmnDecisionResultEntries реализует интерфейс Map<String, Object>. Это позволяет использовать обычные assert-ы List или Map.
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org