亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何在Spring Boot中測試Endpoints

小樊
84
2024-09-14 09:16:15
欄目: 編程語言

在Spring Boot中測試endpoints,通常使用Spring Boot Test模塊和相關的測試工具

  1. 添加依賴項

確保你的項目中包含了以下依賴:

   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
</dependency>
  1. 創建測試類

src/test/java目錄下,為你的控制器創建一個測試類。例如,如果你的控制器名為UserController,則創建一個名為UserControllerTest的測試類。

  1. 注解測試類

使用@RunWith(SpringRunner.class)@SpringBootTest注解你的測試類,這將啟動一個Spring Boot應用程序實例,并提供自動配置的測試環境。

import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
    // ...
}
  1. 注入所需的組件

使用@Autowired注解注入你需要測試的控制器、服務或其他組件。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.web.servlet.MockMvc;

@RunWith(SpringRunner.class)
@SpringBootTest
@WebMvcTest(UserController.class)
public class UserControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private UserController userController;

    // ...
}
  1. 編寫測試方法

使用mockMvc對象發送HTTP請求,并使用斷言驗證返回的結果是否符合預期。

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

// ...

public class UserControllerTest {

    // ...

    @Test
    public void testGetUser() throws Exception {
        mockMvc.perform(get("/users/{id}", 1))
            .andExpect(status().isOk())
            .andExpect(jsonPath("$.id").value(1))
            .andExpect(jsonPath("$.name").value("John Doe"));
    }

    @Test
    public void testCreateUser() throws Exception {
        String json = "{\"name\":\"Jane Doe\", \"email\":\"jane.doe@example.com\"}";

        mockMvc.perform(post("/users")
            .contentType(MediaType.APPLICATION_JSON)
            .content(json))
            .andExpect(status().isCreated())
            .andExpect(header().string("Location", containsString("/users/")));
    }

    // ...
}
  1. 運行測試

使用IDE或Maven命令行工具運行測試。例如,在命令行中輸入以下命令:

mvn test

這將運行你的測試并報告結果。如果所有測試都通過,那么你的endpoints應該按預期工作。如果有任何失敗的測試,請檢查代碼以找到問題所在,并進行修復。

0
成安县| 广西| 柞水县| 怀集县| 尖扎县| 西青区| 木兰县| 东乌珠穆沁旗| 峨边| 台江县| 武威市| 个旧市| 双柏县| 武宁县| 东城区| 镇平县| 徐汇区| 尼木县| 鄂托克前旗| 英超| 霞浦县| 石林| 巴彦淖尔市| 百色市| 嘉鱼县| 武城县| 茂名市| 兴国县| 尚志市| 门头沟区| 阿克苏市| 巴南区| 鸡东县| 曲阳县| 仁怀市| 嘉祥县| 青龙| 凤凰县| 庄河市| 潼关县| 沈阳市|