簡體   English   中英

在測試中實例化多個Spring啟動應用程序

[英]Instantiate multiple spring boot apps in test

我有幾個我的春季啟動應用程序的實例,它同時與DB做了一些工作。 每個實例都在單獨的JVM中運行。
這是用Java編寫測試以在一個JVM上測試它的方法嗎? 如下:

  1. 設置一些嵌入式數據庫用於測試目的,甚至只是模擬它。
  2. 啟動我的Spring啟動應用程序的2-5個實例
  3. 等一段時間
  4. 停止所有已啟動的實例
  5. 驗證數據庫並檢查是否滿足所有條件。

每個實例都有自己的上下文和類路徑。
我認為我可以通過一些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>>() {
                });

這里的來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM