2013-05-15 87 views
0

我有一个简单的游戏,它由两个项目组成:客户端和服务器。现在我想测试它们是否正确交互。
安装程序是:一个Maven-parent项目,以及服务器/客户端作为子模块。如何测试服务器端客户端(Java/Maven)

我现在没有如何测试交互:我能够在junit测试或集成测试中以某种方式启动两个项目(具体如何?)?所以我可以听一个项目输出验证并将它发送给其他人?或者我应该换一种方式?

回答

0

这听起来像是一个集成测试的好例子。

  • 创建第三个行家模块调用IntegrationTests
  • 使用Maven的轮廓integrationtests与-Dintegrationtests激活它在客户端和服务器模块
  • 拉为依赖关系在新模块中:我想如下做到这一点
  • 写使用JUnit我的集成测试(@Before,@测试等)

随着叶夫根尼建议,当然你可以把集成测试在existi之一ng模块,而我的建议是将其分成第三个模块。

如果您需要关于如何使用maven配置文件进行集成测试的帮助,只需在Google左右,或随时询问您是否有特定问题。

祝你好运。

+0

Thx,我跟着http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing,但它只是描述了一个服务器插件。我怎样才能开始我自己的? – user2368505

+0

您正在阅读关于'maven-failsafe-plugin'的文章。要使用它或任何其他插件,只需在您的pom.xml中配置它,并在''和''下构建您的maven项目('clean install')。我自己,我只是使用'maven-surefire-plugin',因为当测试中断时它会失败。无论哪种方式,能够使用'-Dintegrationtests'指定集成测试是否运行是很好的。 – vikingsteve

0

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

1

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