2017-06-06 82 views
0

我有幾個有消費者和生產者的話題。我想確保一個獨特的應用程序向卡夫卡發佈正確的消息。所以這在集成和單元測試之間有點不同,因爲我只想測試生產者將正確的內容輸入到kafka中。如何從自動化測試中驗證卡夫卡消息內容?

測試實際上是:

  1. 將消息發送到該主題
  2. 應用讀取該消息,並且執行一些
  3. 應用生成併發送另一個消息給另一個主題參考消息在步驟之一。

一個選項是檢查所有卡夫卡日誌文件的消息,並通過ref ID找到它們。

但也許有一些測試工具/模式,它允許截取從應用程序到卡夫卡的消息並斷言其有效性?如果有一些卡夫卡冒名頂替者或存根,或者我從不同的角度完全接近它?任何想法都歡迎。

回答

0

我有一些寫過像這樣的集成測試的經驗。所以我的方法如下:

  1. 在您的測試開始嵌入kafka代理(很容易,如果你在JVM上)。
  2. 啓動生產者實例並將消息寫入kafka。
  3. 在這裏,您可以使用模擬/存根來驗證應用程序的行爲。