[英]How to clear topics in tests with Spring Kafka
我正在用 Spring Kafka 2.4 編寫單元測試,以證明我的 Spring Boot 設置是正確的。 我正在驗證SeekToCurrentBatchErrorHandler
按預期工作,這需要發送應重試的錯誤消息。 不幸的是,這條不正確的消息會破壞其他測試,因為這條消息將永遠重試。
由於上述原因,我想確保每個測試都正確隔離。 我要么需要:
使用AdminClient
刪除並重新創建 Kafka 主題
尋找到現有 Kafka 主題的末尾並提交新的偏移量
我正在嘗試使用Consumer.seekToEnd()
方法的選項 2,但是 Spring Kafka 將創建的消費者隱藏在幾層內部框架類之后。 我也不是 100% 確定是否可以在與偵聽器線程不同的測試線程中調用此方法。
使用 Spring Kafka 在測試中清除主題的推薦方法是什么?
最佳實踐是在每個測試中使用唯一的主題名稱以提供完全隔離; 您還可以停止容器,創建一個具有相同group.id
的新消費者並在group.id
執行搜索。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.