@ interface EmbeddedKafka для тестирования. Если вы проверите public class EmbeddedKafkaCondition
, вы увидите, как его запускает весенний тест:
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
Optional<AnnotatedElement> element = context.getElement();
if (element.isPresent() && !this.springTestContext((AnnotatedElement)element.get())) {
EmbeddedKafka embedded = (EmbeddedKafka)AnnotatedElementUtils.findMergedAnnotation((AnnotatedElement)element.get(), EmbeddedKafka.class);
if (embedded != null) {
EmbeddedKafkaBroker broker = this.getBrokerFromStore(context);
if (broker == null) {
broker = this.createBroker(embedded);
BROKERS.set(broker);
this.getStore(context).put("embedded-kafka", broker);
}
}
}
return ConditionEvaluationResult.enabled("");
}
private boolean springTestContext(AnnotatedElement annotatedElement) {
return AnnotatedElementUtils.findAllMergedAnnotations(annotatedElement, ExtendWith.class).stream().filter((extended) -> {
return Arrays.asList(extended.value()).contains(SpringExtension.class);
}).findFirst().isPresent();
}
Попробуйте перезаписать этот класс, чтобы запустить его в вашем приложении.
Я предлагаю вам использовать docker чтобы поднять изображение кафки напрямую .