我目前正在编写Java客户端服务器应用程序。所以我想实现两个库,一个用于客户端,一个用于服务器。客户端服务器通信有一个非常严格的协议,我不想用JUnit进行测试。HowTo单元测试客户端服务器代码
作为使用Maven和Husdon服务器继续集成的构建工具。
其实我没有任何好的想法如何测试这些客户端/服务器库。
我有以下方法:
刚刚写了一个虚拟的客户端测试服务器,并写一个虚拟服务器来测试客户端。 缺点:不幸的是,这会导致许多额外的工作。我不能100%确定客户端和服务器可以一起工作,因为我不确定测试是否完全相同。
编写一个测试项目,一起测试客户端和服务器。
缺点:单元测试不属于自己的项目,所以哈德森不会自动运行它们。每个在这些库之一改变任何东西的人都必须手动运行测试以确保一切正确。我也不会收到任何代码覆盖率报告。
有没有更好的方法来测试这样的代码? 也许测试一个Maven Multi Module Project或类似的东西。
我希望任何人都能为这个问题找到一个好的解决方案。
谢谢。
嗯,这接缝是完全以实现对服务器和客户端的独立单元测试的方式。事实上,这将导致将常量复制粘贴到两个项目中,并因此实现“虚拟客户端”/“虚拟服务器”。这是我上面列出的第一种方法。 – StaticBR 2010-10-14 08:31:39
为什么你把客户端和服务器放到不同的项目中? *困惑*无论如何,如果你真的想这样做,那么创建第三个单元测试项目,导入其他两个项目,所以你只需要一次常量。 – 2010-10-14 08:55:35
嗯,两个项目,因为客户端必须去低资源设备。测试项目是我已经列出的第二种方法。我还写了这种方法的缺点。 – StaticBR 2010-10-14 09:04:07