2

我正在尝试使用 Embedded kafka 进行测试。我正在使用 spring boot 和 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}

请帮忙。

4

1 回答 1

1

@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;
}

于 2020-01-30T16:09:29.390 回答