0
私は自分のプロセスでExecution and Task Listenerを使用しました。 CamundaのJunitを使ってそれらをユニットテストする方法。Camundaのイベントリスナーをテストするには?
私は自分のプロセスでExecution and Task Listenerを使用しました。 CamundaのJunitを使ってそれらをユニットテストする方法。Camundaのイベントリスナーをテストするには?
たとえば、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で実行リスナーをテストする方法を参照してください。
何をテストしますか?実行リスナーのコードのみ?またはカムンダエンジンとの統合? – Zelldon
エンジンとの統合。私はプロセス定義全体をテストしています。外部URLに接続して応答を取得するタスクリスナーがあり、その応答に従ってプロセスフローが進行します。ここで私はTaskListenerで提示されたその応答を模擬することができません。 – Hemendra