我有几个我的Spring Boot应用程序实例,它们与DB并行进行一些工作。每个实例都在单独的JVM中运行。 是否可以用Java编写测试以在一个JVM上进行测试的方法?如下所示:
每个实例都有其自己的上下文和类路径。 我认为我可以通过一些Shell脚本实现这一目标,但是我想用Java实现。 最好的方法是什么?
您可以使用不同的端口多次运行它们。
我做了类似的事情
@RunWith(SpringJUnit4ClassRunner.class) public class ServicesIntegrationTest { private RestTemplate restTemplate = new RestTemplate(); @Test public void runTest() throws Exception { SpringApplicationBuilder uws = new SpringApplicationBuilder(UserWebApplication.class) .properties("server.port=8081", "server.contextPath=/UserService", "SOA.ControllerFactory.enforceProxyCreation=true"); uws.run(); SpringApplicationBuilder pws = new SpringApplicationBuilder(ProjectWebApplication.class) .properties("server.port=8082", "server.contextPath=/ProjectService", "SOA.ControllerFactory.enforceProxyCreation=true"); pws.run(); String url = "http://localhost:8081/UserService/users"; ResponseEntity<SimplePage<UserDTO>> response = restTemplate.exchange( url, HttpMethod.GET, null, new ParameterizedTypeReference<SimplePage<UserDTO>>() { });
这里的来源。