在每个测试方法后重置 EmbeddedKafka
Reset EmbeddedKafka After Every Test Method
我正在编写一个测试 class,它有多个需要 Kafka 的方法。每个都需要不同的代理属性,所以我想为每个单独的 EmbeddedKafka 实例。正在做
@EmbeddedKafka(
partitions = 20,
topics = {"topic"},
controlledShutdown = false,
brokerProperties = {
"listeners=PLAINTEXT://localhost:9091",
"port=9091",
"auto.create.topics.enable=false",
"delete.topic.enable=true"
})
为 class 中的每个方法使用代理属性。我不想要这个。克服这个问题的一种方法是将每个测试方法放在一个单独的 class 中,具有不同的代理属性。但我不想这样做,因为这会增加我需要的文件数量。
有什么办法解决这个问题吗?
最好在每个测试中使用不同的主题。但是,您可以在每个测试方法中添加 @DirtiesContext
或在测试 class.
中添加 @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
我正在编写一个测试 class,它有多个需要 Kafka 的方法。每个都需要不同的代理属性,所以我想为每个单独的 EmbeddedKafka 实例。正在做
@EmbeddedKafka(
partitions = 20,
topics = {"topic"},
controlledShutdown = false,
brokerProperties = {
"listeners=PLAINTEXT://localhost:9091",
"port=9091",
"auto.create.topics.enable=false",
"delete.topic.enable=true"
})
为 class 中的每个方法使用代理属性。我不想要这个。克服这个问题的一种方法是将每个测试方法放在一个单独的 class 中,具有不同的代理属性。但我不想这样做,因为这会增加我需要的文件数量。
有什么办法解决这个问题吗?
最好在每个测试中使用不同的主题。但是,您可以在每个测试方法中添加 @DirtiesContext
或在测试 class.
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)