2012-01-11 12 views
0

誰でも使用しようとしました応答Nettyクライアントとサーバーをテストしてください。Awaitilityを使用したNettyクライアントサーバーのテスト?

サーバーがクライアントからのすべてのメッセージとそれ以外の有用なテストを受信したことをテストします。

私は唯一の事は、私はネッティーをテストするために、「Awaitility」を使用することはありませんサーバーはサーバー側ハンドラから

答えて

1

を受信したメッセージの数を取得する方法であるが、そのようなテストを書くことがまっすぐ前方本当にあるとします。すべてのmessageReceived(..)呼び出しでカウンタをインクリメントするカスタムSimpleChannelUpstreamHandlerを追加し、junit assertEquals(..)で予想されるものと一致するかどうかを確認してください。

+0

こんにちはノーマン SimpleChannelUpstreamHandlerテストでクライアントが使用していますか? 私のsetUpメソッドは、Serverをインスタンス化して起動します。特定のテストクライアントのハンドラをServerBootstrapから取得する方法はありますか? – DarVar

+0

さて、あなたはsetUp()にSimpleChannelUpstreamHandlerを割り当て、それをプライベートフィールドに格納することができます。その後、ユニットテストでアクセスできます。 –

+0

これは、クライアントとサーバーの完全なエンドツーエンド回帰テストです。 最後に、サーバクラスに次のコードを追加してハンドラを返します。
'MyMessageHandler handler = channelPipelineFactory.getPipeline()。get(MyMessageHandler.class); '
私は考えることができません。クライアントのメッセージをテストするためにサーバーの上流のハンドラを取得することができました。 – DarVar

関連する問題