встроенная в пружину kafka с junit5 - Нет разрешаемых bootstrap URL-адресов на bootstrap серверах - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь использовать встроенную кафку для своих тестов. Я использую весеннюю загрузку и junit5 следующим образом

@SpringBootTest
@EmbeddedKafka
public class MyTest {
//Instead of the class rule approach I'm using
EmbeddedKafkaBroker embeddedKafka = new EmbeddedKafkaBroker(1,true,topics);
..
@Test
public void myTestCase() {
....

}

Однако мои тесты не проходят с No resolvable bootstrap urls given in bootstrap servers

Я также использую тестовый профиль, где в файле yml есть

 bootstrap-servers :{spring.embedded.kafka.brokers}

Пожалуйста, помогите.

1 Ответ

1 голос
/ 30 января 2020

@SpringBootTest инициализирует контекст приложения Spring Boot до создания экземпляра класса теста и инициализации полей-членов. Из-за этого @SpringBootApplication не видит EmbeddedKafkaBroker, поскольку поле инициализируется позже.

Попробуйте выполнить рабочий пример из этого ответа :

@SpringBootTest
@EnableKafka
@EmbeddedKafka(
    partitions = 1, 
    controlledShutdown = false,
    brokerProperties = {
        "listeners=PLAINTEXT://localhost:3333", 
        "port=3333"
})
public class KafkaConsumerTest {
    @Autowired
    KafkaEmbedded kafkaEmbeded;
}

...