如何在Camunda中测试事件监听器?

时间:2017-04-04 05:57:32

标签: bpmn camunda

我在我的过程中使用了执行和任务侦听器。如何在Camunda中使用Junit对它们进行单元测试。

1 个答案:

答案 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