如何在 Camunda 中测试事件监听器?
How to test Event Listeners in Camunda?
我在我的流程中使用了执行和任务侦听器。如何在 Camunda 中使用 Junit 对它们进行单元测试。
例如,您可以使用 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.
我在我的流程中使用了执行和任务侦听器。如何在 Camunda 中使用 Junit 对它们进行单元测试。
例如,您可以使用 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.