Size: a a a

Camunda BPM Group

2020 November 24

AV

Anna Vekshina in Camunda BPM Group
BusinessKey для процесса задаю
источник

IK

Isayakiy Kotletov in Camunda BPM Group
ну а processId не нужно, достаточно businessKey
источник

SN

Sergey Novikov in Camunda BPM Group
у подпроцесса который еще не запущен, еще нет своего Id
источник

AV

Anna Vekshina in Camunda BPM Group
И не понятно, как его запустить
источник

SN

Sergey Novikov in Camunda BPM Group
ProcessEngine processEngine = BpmPlatform.getDefaultProcessEngine();
     processEngine.getRuntimeService()
       .createMessageCorrelation(sMessage)
       .correlateAll();
источник

SN

Sergey Novikov in Camunda BPM Group
processEngine.getRuntimeService().startProcessInstanceByMessage(messageName)
источник

SN

Sergey Novikov in Camunda BPM Group
почитайте про методы RuntimeService()
источник

DK

Denis Kotov in Camunda BPM Group
источник

SN

Sergey Novikov in Camunda BPM Group
страшная какая - это кто?
источник

AV

Anna Vekshina in Camunda BPM Group
Спасибо, ушла читать
источник

IK

Isayakiy Kotletov in Camunda BPM Group
а что вы мокаете в тестах? у меня есть ощущение что мокать делегаты сами не очень, что мокать стоит те сервисы бизнес логики что делегаты используют
а этой либой получается удобно замокать сами делегаты только?
источник

IK

Isayakiy Kotletov in Camunda BPM Group
autoMock("MockProcess.bpmn");
я про такие приколюхи
источник

AK

Artem Kuraev in Camunda BPM Group
Isayakiy Kotletov
а что вы мокаете в тестах? у меня есть ощущение что мокать делегаты сами не очень, что мокать стоит те сервисы бизнес логики что делегаты используют
а этой либой получается удобно замокать сами делегаты только?
Так почему не стоит мокать делегаты-то? Делегат это всего лишь прослойка между слоем бизнес-логики и процессом, если мы хотим тестить именно процесс - то вся обвязка должна быть замокана =)
источник

AK

Artem Kuraev in Camunda BPM Group
Это просто обычный юнит-тест на класс типа, только класс в данном случае - бизнес-процесс
источник

YY

Yo Yo in Camunda BPM Group
Artem Kuraev
Так почему не стоит мокать делегаты-то? Делегат это всего лишь прослойка между слоем бизнес-логики и процессом, если мы хотим тестить именно процесс - то вся обвязка должна быть замокана =)
Так же делаем.
Делегаты потом можно ещё и отдельно потестить, если очень надо, как обычный unit
источник

IK

Isayakiy Kotletov in Camunda BPM Group
ну не знаю, тестить в 2х местах что переменные проставляются не оч удобно мне кажется,
вот у меня есть делегат который в процесс ставит какой нибудь decision = APPROVED

и так я просто мокаю бизнес логику и говорю что "бизнес логика вернула APPROVED" и тестирую схему
а так мне нужно будет в тестах схемы переменную проставлять ручками, отдельно делегат тестить что он переменную проставляет
хз
источник

AK

Artem Kuraev in Camunda BPM Group
Isayakiy Kotletov
ну не знаю, тестить в 2х местах что переменные проставляются не оч удобно мне кажется,
вот у меня есть делегат который в процесс ставит какой нибудь decision = APPROVED

и так я просто мокаю бизнес логику и говорю что "бизнес логика вернула APPROVED" и тестирую схему
а так мне нужно будет в тестах схемы переменную проставлять ручками, отдельно делегат тестить что он переменную проставляет
хз
Классика. Unit VS Integration =)
источник

DK

Denis Kotov in Camunda BPM Group
Без делегатов хрень , запутаешься за переменными следить
источник

AK

Artem Kuraev in Camunda BPM Group
Зато, когда у тебя гейтвей сломается, не надо будет думать, толи делегат там не проставил что-то, толи в процессе что-то куда-то не туда пошло
источник

YY

Yo Yo in Camunda BPM Group
Denis Kotov
Без делегатов хрень , запутаешься за переменными следить
это если они в делегатах проставляются, да.
источник