一、使用junit进行单元测试
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {SpringbootTestsApplication.class})
public class SpringBootTestDemo {
@Test
public void testOne(){
System.out.println("Test Hello 1");
}
@Test
public void testTwo(){
System.out.println("Test Hello 2");
}
@Before
public void testBefore(){
System.out.println("Test Before");
}
@After
public void testAfter(){
System.out.println("Test After");
}
}
在测试类上方要加入两个注解@RunWith(SpringRunner.class) 和 @SpringBootTest(classes = {SpringbootTestsApplication.class})
要单独测试一个方法的时候,可以直接在方法上右键启动,如果要测试整个单元测试类中所有的测试方法,在类名上右键进行启动。
二、MockMvc测试
创建controller
@RestController
public class SampleController {
@GetMapping("/v1/hello")
public Object hello(){
return "mw_monster";
}
}
创建MockMvc测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {SpringbootTestsApplication.class})
@AutoConfigureMockMvc
public class SpringBootMockMvcTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testMockMvc() throws Exception{
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/v1/hello")).andReturn();
int status = mvcResult.getResponse().getStatus();
System.out.println(status);
}
}
相比较于普通的测试类,这个类多了一个注解@AutoConfigureMockMvc
mockMvc.perform():模拟进行mvc测试
MockMvcRequestBuilders.get("/v1/hello"):模拟进行get请求
后面是打印请求的状态码