2012-01-11 72 views
0

有沒有人試圖用等待來測試Netty客戶端和服務器。使用Awaitility測試Netty客戶端服務器?

我想測試服務器已收到來自客戶端的所有消息和任何其他可能有用的測試。

我想的唯一的事情是如何得到消息從服務器端的處理程序

回答

1

我從來沒有使用「Awaitility」測試網狀收到的服務器的數量,但是寫這樣的測試真的是直線前進。只需添加一個自定義SimpleChannelUpstreamHandler,在每個messageReceived(..)調用中增加一個計數器,然後檢查計數是否與您期望的junit assertEquals相匹配(..)

+0

Hi Norman, 然後獲取SimpleChannelUpstreamHandler客戶在測試中使用? 我的setUp方法實例化並啓動服務器。有沒有辦法從ServerBootstrap獲得特定的測試客戶端處理程序? – DarVar 2012-01-11 18:27:35

+0

那麼你可以在setUp()中分配SimpleChannelUpstreamHandler並將其存儲在專用字段中。然後你可以在你的單元測試中訪問它。 – 2012-01-13 07:08:46

+0

這是一個完整的客戶端和服務器端到端迴歸測試。 所以我最後做的是添加以下內容到我的服務器類來返回處理程序:
'MyMessageHandler處理程序= channelPipelineFactory.getPipeline()。get(MyMessageHandler.class);'
這不是很好,但只有等待,我才能想到獲取服務器上游處理程序以測試收到客戶端消息。 – DarVar 2012-01-13 12:25:07

相關問題