나는 단위 테스트를위한 몇 가지 방법을 조롱하기 위해 Java와 Mockito를 사용하고 있습니다. 예외가 발생했을 때 전송되는 로그 메시지를 테스트 할 수 있도록 아래 코드에서 제작자를 조롱하고 싶습니다. 미래를 조롱했지만 future.get() 메서드를 조롱 할 수없고 RecordMetadata
클래스가 final이며 조롱을받을 수 없다는 오류가 발생했습니다. 어떤 도움이라도 대단히 감사하겠습니다.예외를 던지 미래를 돌려주는 메소드 모의
아래 예제의 제작자는 KafkaProducer
입니다.
public void send(Log log){
Future<RecordMetadata> future = producer.send(new ProducerRecord<(this.topic, record));
try {
RecordMetadata recordMetadata = send.get();
} catch (InterruptedException e) {
LOG.error("Sending the message to kafka was interrupted. "+e);
}
}
감사합니다. errorNext가 send 메소드가 throw 할 수있는 두 가지 유형의 예외 (InterruptedException) 중 하나를 throw 할 수 없다는 사실을 조금 바보스럽게 생각합니다. – annedroiid
RuntimeException 유형의 예외를 지정할 수 있습니다. 이는 InterruptedException이 확장되는 것입니다 –