配置两个端口用于springboot集成测试

时间:2019-02-18 11:20:11

标签: spring spring-boot spring-mvc integration-testing spring-test-mvc

对于spring框架来说我还很陌生,我的JAVA应用程序(说Project_A)运行在http://localhost:8080,进行处理并将处理后的内容转发到运行另一个应用程序(说Project_B)的http://localhost:9090。 Project_B回复给Project_A,然后Project_A将内容转发到。

我现在正在尝试为Project_A编写集成测试,因此需要两个模拟,一个在请求侧,另一个在Project_B侧。对于请求,我可以使用MockMVC模拟请求和发送。但是为了模拟Project_B,Im考虑创建一个模拟控制器,该控制器接收来自Project_A的请求并相应地发送答复。因此,我需要创建另一个在不同端口运行的Controller。 project_A中的默认端口为8080,在新的控制器模拟中,我需要使用9090。

是否可以在一个spring junit应用程序中使用两个不同的端口?还是通过弹簧单元测试本身来实现这一目标的更好方法?

2 个答案:

答案 0 :(得分:0)

我通常在application.properties中使用它

management.port=${second_Port}

答案 1 :(得分:0)

您可以在application-test.properties中使用server.port=9090。在测试课程中,您可以像这样

@TestPropertySource(value = { "classpath:application-test.properties" })

您还需要在application.properties文件中定义server.port代替实际端口