单元测试
1.pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.注解
@RunWith(SpringRunner.class) 注解是一个测试启动器,可以加载Springboot测试注解
@SpringBootTest 用于指定测试类启用Spring Boot Test,默认会提供Mock环境
@AutoConfigureMockMvc 启用MockMvc的自动配置,可用于测试接口
@Autowired
private MockMvc mockMvc;
@Test 指定方法为测试方法
3.接口测试示例
@Test
public void get() throws Exception {
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/api/get") //设置请求地址
.param("1","1") //设置请求参数
.param("pageNo","0")
.param("pageSize","20")
.header("a","a")
.contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
.andReturn();
System.out.println("result: " + result.getResponse().getContentAsString());
}
@Test
public void post() throws Exception {
JSONObject reqObj = new JSONObject();
reqObj.put("one","1");
reqObj.put("two","2");
reqObj.put("three","3");
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.post("/api/post") //设置请求地址
.content(reqObj.toJSONString())
.header("q","q")
.contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
.andReturn();
System.out.println("result: " + result.getResponse().getContentAsString());
}
JUnit 5官方文档:https://junit.org/junit5/docs/current/user-guide/