簡體   English   中英

Mocking KafkaAvroDeserializer 用於使用 Mockito 進行單元測試

[英]Mocking KafkaAvroDeserializer for unit testing using Mockito

我正在嘗試對使用 KafkaAvroDeserializer 反序列化 object 的 class 進行單元測試。我想模擬 KafkaAvroDeserializer 以便我可以測試業務邏輯。 但是,當我嘗試模擬 KafkaAvroDeserializer 時,出現以下錯誤:

Underlying exception: org.mockito.exceptions.base.MockitoException: Could not modify all classes [class io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer, interface org.apache.kafka.common.serialization.Deserializer, interface java.io.Closeable, class io .confluent.kafka.serializers.KafkaAvroDeserializer,class io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe,接口 java.lang.AutoCloseable]

org.mockito.exceptions.base.MockitoException:Mockito 無法模擬這個 class:class io.confluent.kafka.serializers.KafkaAvroDeserializer。

Mockito 版本:4.8.0 JDK:8 也嘗試了 11。

在這里的任何幫助表示贊賞。 謝謝。

如果您使用MockSchemaRegistry而不是 mocking KafkaAvroDeserializer ,它可能會工作得更好。

您可以通過向反序列化器提供以下配置schema.registry.url=mock://deserializer-test來執行此操作。 這樣你仍然在使用 SR,但它在內存中,因此完全可以進行單元測試。

HTH,比爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM