一个Apache Mina客户端的单元测试

4
我有一个mina客户端,其连接器是NioSocketConnector。我已经编写了与真实服务器的集成测试,但我找不到一种方法来进行单元测试。例如,我想测试我的自定义解码器和编码器是否正确工作,而不必打开真实的套接字。我还想测试我的消息是否正确地排队在缓冲区中等等。
我发现了一个DummySession类用于测试,但我不确定这个类是否足以完整地对客户端进行单元测试。
Mina建议使用它很容易进行单元测试,所以我真的很想知道如何做到这一点。请提供您的想法或示例代码链接,谢谢。
1个回答

8

编码器的单元测试:

YourEncoder encoder = new YourEncoder();
ProtocolCodecSession session = new ProtocolCodecSession();
encoder.encode(session, message, session.getEncoderOutput());
// encoded message will be in session.getEncoderOutputQueue()

解码器的单元测试:

//Prepare an IoBuffer which will be decoded, say buf
YourDecoder decoder = new YourDecoder();
ProtocolCodecSession session = new ProtocolCodecSession();
decoder.decode(session, buf, session.getDecoderOutput());
//decoded message will be in session.getDecoderOutputQueue()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接