我有一个简单的游戏,包括两个项目:客户端和服务器。现在我想测试它们是否正确交互 安装程序是:一个Maven父项目,以及作为子模块的服务器/客户端。
我现在不知道如何测试交互:我是否能够在junit测试或集成测试中以某种方式启动两个项目(究竟如何?)?这样我可以监听一个项目输出验证它并将其发送给另一个?或者我应该采取另一种方式?
答案 0 :(得分:1)
对于integeation测试,创建一个单独的pom,将两个项目添加为测试依赖项。然后在测试开始之前使用testng beforeclass hooks或maven failsafe plugin hook启动服务器,并在测试后关闭服务器。
答案 1 :(得分:0)
通常,您从测试启动服务器并从测试模拟客户端行为发送请求,并检查服务器响应是否符合您的预期。
答案 2 :(得分:0)
这听起来像集成测试的好例子。我会这样做:
integrationtests
并使用-Dintegrationtests 正如Evgeniy建议的那样,您当然可以将集成测试放在其中一个现有模块中,而我的建议是将其拆分为第三个模块。
如果您需要有关如何使用maven配置文件进行集成测试的帮助,请随时查看,或随时询问您是否有具体问题。
祝你好运。