我在我的过程中使用了执行和任务侦听器。如何在Camunda中使用Junit对它们进行单元测试。
答案 0 :(得分:1)
您可以使用例如Camunda Model API并编写单元测试来测试您的执行监听器。
单元测试可能如下所示:
@Test
public void testEndExecutionListenerIsCalledOnlyOnce() {
BpmnModelInstance modelInstance = Bpmn.createExecutableProcess("process")
.startEvent()
.userTask()
.camundaExecutionListenerClass(ExecutionListener.EVENTNAME_END, TestingExecutionListener.class.getName())
.endEvent()
.done();
testHelper.deploy(modelInstance);
// given
ProcessInstance procInst = runtimeService.startProcessInstanceByKey("process");
TaskQuery taskQuery = taskService.createTaskQuery().processInstanceId(procInst.getId());
//when task is completed
taskService.complete(taskQuery.singleResult().getId());
// then end listener is called
// assert something for example a variable is set or something else
}
有关更多示例,请参阅Camunda如何测试执行监听器 ExecutionListenerTest.java