【发布时间】:2009-11-05 15:49:30
【问题描述】:
我目前正在为学校项目开发两个 Java 网络应用程序。一个通过 TCP,另一个通过 UDP。在这两种情况下,我都必须实现简单的自定义协议。
尽管我非常努力,我还是找不到正确测试此类应用程序的方法,或者通过测试优先开发更好地进行开发。
如果我有一个客户端并且我想要真正的测试而不把所有东西都存根,我必须实现具有模拟行为的服务器,对于像这样的简单应用程序来说,这几乎是整个项目。我知道,当一些大的事情发生时,比编写几行 Perl 脚本来测试它真的很有帮助。
现在我正在同时开发服务器和客户端,这样我至少可以手动测试,但这似乎不是一种干净的开发方式。唯一有帮助的是通过记录器建立隧道连接,这样我就可以看到通过的所有数据(使用 TunneliJ IDEA 插件)。
使用自定义协议对网络应用程序进行 TDD 的最佳方式是什么?我应该把所有的东西都存起来就可以了吗?
【问题讨论】:
标签: java unit-testing networking tdd integration-testing