2012-01-11 70 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

相关问题