如何测试Server-Client(Java / Maven)

时间:2013-05-15 12:46:56

标签: java maven testing client-server

我有一个简单的游戏,包括两个项目:客户端和服务器。现在我想测试它们是否正确交互 安装程序是:一个Maven父项目,以及作为子模块的服务器/客户端。

我现在不知道如何测试交互:我是否能够在junit测试或集成测试中以某种方式启动两个项目(究竟如何?)?这样我可以监听一个项目输出验证它并将其发送给另一个?或者我应该采取另一种方式?

3 个答案:

答案 0 :(得分:1)

对于integeation测试,创建一个单独的pom,将两个项目添加为测试依赖项。然后在测试开始之前使用testng beforeclass hooks或maven failsafe plugin hook启动服务器,并在测试后关闭服务器。

答案 1 :(得分:0)

通常,您从测试启动服务器并从测试模拟客户端行为发送请求,并检查服务器响应是否符合您的预期。

答案 2 :(得分:0)

这听起来像集成测试的好例子。我会这样做:

  • 创建一个名为IntegrationTests的第三个maven模块
  • 使用maven个人资料integrationtests并使用-Dintegrationtests
  • 激活它
  • 将客户端和服务器模块作为新模块中的依赖项拉入
  • 使用JUnit(@Before,@ Test等)
  • 编写我的集成测试

正如Evgeniy建议的那样,您当然可以将集成测试放在其中一个现有模块中,而我的建议是将其拆分为第三个模块。

如果您需要有关如何使用maven配置文件进行集成测试的帮助,请随时查看,或随时询问您是否有具体问题。

祝你好运。