右键方法 Go To --> Test,简便快速生成测试方法。

相关注解

@RunWith(SpringRunner.class)    表示要在测试环境中跑,底层实现是 jUnit测试工具。

@SpringBootTest                           表示启动整个 Spring工程

@AutoConfigureMockMvc

@Autowired

@Test

一、service 单元测试

基本与实现方法一致,多了注解,直接比较返回值是否与预期一致

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

    @Autowired
    private GirlService girlService;

    @Test
    public void findOneTest() {
        Girl girl = girlService.findOne(73);
        Assert.assertEquals(new Integer(13), girl.getAge()); //随便用一个值跟返回值比较,看是否与预期一致
    }
}

二、controller 单元测试

需要测试 Get/Post 方式请求响应的正确性,要用到 @AutoConfigureMockMvc,把 MockMvc注入进来。

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class GirlControllerTest {

    @Autowired
    private MockMvc mvc;

    @Test
    public void girlList() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/girls"))            //get或者post与实现方法一致的方式获取,指定 url路径
                .andExpect(MockMvcResultMatchers.status().isOk())    //是否是希望返回的结果,状态码或字符串或者别的属性
        .andExpect(MockMvcResultMatchers.content().string("abc"));
    }

}
03-21 12:06