unit-testing - apache mina 客户端的单元测试

标签 unit-testing apache-mina

我有一个 mina 客户端,它的连接器是 NioSocketConnector。我已经用真实服务器编写了这个客户端的集成测试。但是,我找不到方法做 单元测试 .例如,我想在不打开真正的套接字的情况下测试我的自定义解码器和编码器是否正常工作。而且,我想测试我的消息是否在缓冲区等中正确排队。

我找到了一个用于测试的 DummySession 类,但我不确定这个类是否足以对客户端进行完整的单元测试。

Mina 建议使用它进行单元测试很容易,所以我真的想知道我该怎么做。请帮助提供您的想法或示例代码的链接。

提前致谢。

最佳答案

编码器的单元测试:

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()

关于unit-testing - apache mina 客户端的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12097634/

相关文章:

java - Apache Mina 服务器重启 java.net.BindException : Address already in use

node.js - 错误 : Cannot find module 'tap'

javascript - Promise.resolve().then 在 Jasmine 测试中不起作用

java - 如何使用 JUnit 5 以自定义对象作为返回类型对静态方法进行单元测试

java - Apache SSHD 客户端获取服务器公钥

java - 如何验证以 Lambda 作为参数的 ThreadPool 执行方法

unit-testing - 在 Go 中模拟接收函数

java - ExpiringMap 无法使对象过期

java - Apache MINA 从 IoSession 读取