SpringBoot 測試類


//對於前后端分離的項目而言,無法直接從前端靜態代碼中測試接口的正確性,因此可以通過MockMVC來模擬HTTP請求

@RunWith(SpringRunner.class) //public final class SpringRunner extends SpringJUnit4ClassRunner @SpringBootTest //@SpringBootTest注解是SpringBoot自1.4.0版本開始引入的一個用於測試的注解  // 測試環境使用,用來表示測試環境使用的ApplicationContext將是WebApplicationContext類型的  作用是模擬ServletContext @WebAppConfiguration public class PortalUserApplicationTest { /** * WebApplicationContext,是繼承於ApplicationContext的一個接口, * 擴展了ApplicationContext,是專門為Web應用准備的,它允許從相對於Web根目錄的路徑中裝載配置文件完成初始化。 */ @Autowired private WebApplicationContext webApplicationContext; /** * *MockMvc實現了對Http請求的模擬,能夠直接使用網絡的形式 * * mockMvc調用perform,執行一個RequestBuilder請求,調用controller的業務處理邏輯; * * perform返回ResultActions,返回操作結果,通過ResultActions,提供了統一的驗證方式; * */ private MockMvc mockMvc;
/** * MockMvcBuilders是MockMvc的構造器; * * MockMvc是spring測試下的一個非常好用的類,他們的初始化需要在setUp中進行 */ @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); } @Test public void test() throws Exception { String uri = "接口路徑"; String str = "接口要傳的參數"; //MockMvcRequestBuilders 用來構建請求 指定傳參方式 和 接口路徑 這里是post MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post(uri) .contentType(MediaType.APPLICATION_JSON) //數據格式 .content(str)) .andDo(MockMvcResultHandlers.print()).andReturn(); int status = mvcResult.getResponse().getStatus(); //得到返回狀態碼 String content = mvcResult.getResponse().getContentAsString(); //得到接口返回結果 System.out.println("返回:" + JSON.parseObject(content)); } }

控制台部分打印信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM