@CustomLog
@Data
@Configuration
@RequiredArgsConstructor
public class PersonalizationTasks {
private final CmdUtils cmdUtils;
@Value("${cmd.task-defaults.personalization-service-type}")
private String version;
@ExternalTaskSubscription(topicName = "personalization")
@Bean
public ExternalTaskHandler personalization() {
return (task, taskService) -> {
Long appId = task.getVariable("appId");
//other codes
taskService.complete(task);
};
}
}当我尝试测试这个方法时,我的测试不会运行这个返回体。我怎么测试它呢?
编辑kriegaex:,可能OP使用Camunda接口ExternalTaskHandler。
发布于 2021-12-28 10:25:15
由于ExternalTaskHandler是一个lambda,它有execute方法,所以您需要用提供的参数来调用它,因此将执行lambda的主体,如下所示:
@Inject
private ExternalTaskHandler handler;
@Test
void shouldExecuteTask() {
ExternalTask externalTask = mock(ExternalTask.class);
ExternalTaskService externalTaskService = mock(ExternalTaskService.class);
hanler.execute(externalTask, externalTaskService);
verify(externalTaskService).complete(externalTask);
}https://stackoverflow.com/questions/70503893
复制相似问题