我有以下配置
server:
port: 8001
spring:
kafka:
bootstrap-servers: localhost:9092
consumer:
auto-offset-reset: latest
group-id: group-id
value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
properties:
spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer
spring.deserializer.value.delegate.class: <package..>.config.kafka.KafkaEventDeserializer
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: <package..>.config.kafka.KafkaEventSerializer
kafka:
topic-name: topic-name
group-id: group-id
我想测试下面的Kafka消费者
@KafkaListener(topics = "#{'${kafka.topic}'}",
groupId = "#{'${kafka.group-id}'}")
public void consumeEvents(Event event) throws RuntimeException {
throw new RuntimeException("EventType does not match !");
}
这是我的测试案例
@Test
@SneakyThrows
void consumeEvents_RuntimeExceptionShouldBeThrown() {
...
await().atMost(2, TimeUnit.SECONDS)
.untilAsserted(() -> assertThrows(RuntimeException.class, () -> kafkaTemplate.send(receiptTopic, "key", event)));
}
测试失败时抛出异常!
似乎已经捕获了异常,因此assertThrows
无法正常工作
这种情况怎么处理?谢谢
1条答案
按热度按时间zvokhttg1#
你不需要制作人来测试