spring boot 下使用junit测试

1.测试类的构建

在测试类中要加上指定的注解

@RunWith(SpringRunner.class)
@SpringBootTest
public class AppointTests {

}

2.Service测试

使用自动注入的注解定义service类

@Autowired
private AppointService appointService;

3.Controller测试

首先初始化

@Before // 在测试开始前初始化工作  
public void setup() {  
    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();  
} 

而后定义测试类测试Controller

@Test  
public void testQ1() throws Exception {  

     MvcResult result = mockMvc.perform(MockMvcRequestBuilders.post("/appoint/insertAppoint")
                .param("name", appoint.getName())
                .param("job", appoint.getJob())
                .param("department", appoint.getDepartment()))
                .andExpect(MockMvcResultMatchers.status().isOk())// 模拟向testRest发送get请求
                //.andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON_UTF8))// 预期返回值的媒体类型text/plain;charset=UTF-8
                .andReturn();// 返回执行请求的结 

    System.out.println(result.getResponse().getContentAsString());  
}

如果预期返回类型不确定,下面这行可不加

.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))// 预期返回值的媒体类型text/plain;charset=UTF-8

参考:
https://blog.csdn.net/xiaolyuh123/article/details/73281522/

你可能感兴趣的:(spring,boot,java)