您好,登錄后才能下訂單哦!
一、實現原理
使用MockMvc發起請求,然后執行API中相應的代碼,在執行的過程中使mock模擬底層數據的返回,最后結果驗證。
二、常用注解介紹
@SpringBootTest是SpringBoot的一個用于測試的注解,通過SpringApplication在測試中創建ApplicationContext。
@AutoConfigureMockMvc是用于自動配置MockMvc。
@RunWith在JUnit中有很多個Runner,他們負責調用你的測試代碼,每一個Runner都有各自的特殊功能,你要根據需要選擇不同的Runner來運行你的測試代碼。
@Before在每個測試方法前執行,一般用來初始化方法。
@After在每個測試方法后執行,在方法執行完成后要做的事情。
三、主要代碼
引入測試jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
測試類中添加注解和測試代碼
package com.example.helloSpringBoot; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; @RunWith(SpringRunner.class) @SpringBootTest(classes = {HelloSpringBootApplication.class}) @AutoConfigureMockMvc //測試接口用 public class HelloControllerTest { private static final Logger log = LoggerFactory.getLogger(HelloControllerTest.class); @Before public void testBefore(){ log.info("測試前"); } @After public void testAfter(){ log.info("測試后"); } @Autowired private MockMvc mockMvc; /** * 測試 /mockTest * * */ @Test public void mockTest()throws Exception{ MvcResult mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/mockTest")). andExpect(MockMvcResultMatchers.status().isOk()).andReturn(); int status=mvcResult.getResponse().getStatus(); //打印出狀態碼,200就是成功 log.info("狀態碼="+status); Assert.assertEquals(200,status); } }
運行mockTest
運行成功后截圖如下:
上述三步操作完成后即可實現對API(Controller)測試,有問題歡迎留言溝通哦!
完整源碼地址:https://github.com/suisui2019/helloSpringBoot
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。