如何测试服务器客户端(Java/Maven)
我有一个简单的游戏,它由两个项目组成:客户端和服务器。现在我想测试它们是否正确交互。如何测试服务器客户端(Java/Maven),java,maven,testing,client-server,Java,Maven,Testing,Client Server,我有一个简单的游戏,它由两个项目组成:客户端和服务器。现在我想测试它们是否正确交互。 设置为:一个Maven父项目,服务器/客户端作为子模块 我现在不知道如何测试交互:我是否能够在junit测试或集成测试中以某种方式启动这两个项目(具体如何?)?这样我就可以监听一个项目的输出,验证它并将它发送给另一个项目?或者我应该换一种方式吗?通常从测试启动服务器,并从测试发送请求,模拟客户端行为,检查服务器响应是否符合预期。对于集成测试,创建单独的pom,将两个项目添加为测试依赖项。然后在测试开始之前使用t
设置为:一个Maven父项目,服务器/客户端作为子模块
我现在不知道如何测试交互:我是否能够在junit测试或集成测试中以某种方式启动这两个项目(具体如何?)?这样我就可以监听一个项目的输出,验证它并将它发送给另一个项目?或者我应该换一种方式吗?通常从测试启动服务器,并从测试发送请求,模拟客户端行为,检查服务器响应是否符合预期。对于集成测试,创建单独的pom,将两个项目添加为测试依赖项。然后在测试开始之前使用testng beforeclass钩子或maven failsafe插件钩子启动服务器,并在测试结束后关闭服务器。这听起来是集成测试的好例子。我会这样做:
- 创建第三个名为IntegrationTests的maven模块
- 使用maven概要文件
并使用-dinintegrationtests激活它integrationtests
- 将客户端和服务器模块作为依赖项拉入新模块
- 使用JUnit编写集成测试(@Before、@Test等)
祝你好运。Thx,我遵循了它,但它只是用一个服务器插件描述的。我如何开始我自己的?你正在读关于
maven故障保护插件的文章。要使用它或任何其他插件,只需在pom.xml中的
和
下配置它,然后构建maven项目(clean install
)。我自己,我只是使用maven-surefire插件
,因为当测试中断时它会失败。无论哪种方式,都可以通过-dinintegrationtests
指定是否运行集成测试。