【发布时间】:2017-09-04 16:11:06
【问题描述】:
我想实现和单元测试(不一定是 TDD)一个客户端应用程序,它使用某种应用程序协议与 TCP 服务器通信。
我在here (1) 和here (2) 等地方看到,协议代码最好与网络代码分离,这样我每个人都可以单独进行单元测试。
但是我不明白我应该如何设计和实现这些部分。
第一个链接讨论了一个带有方法HelloMessage() 和HowdyMessage() 的MyProtocolHandler 类。这是否意味着协议处理程序应该有两种方法来生成消息和处理响应?我将如何使用它们?还有一件事,每个消息/响应对应该有不同的ProtocolHandler 类,还是只有一个类?
第二个链接谈到Reader 和Writer。同样,我无法理解我应该如何使用它们。
这两个只是例子。主要问题是,我如何将逻辑与网络分离并对它们进行单元测试?我不得不说我还没有尝试过任何东西;我习惯了只写耦合代码,不知道从哪里开始。
【问题讨论】:
标签: java unit-testing network-programming protocols network-protocols