右键方法 Go To --> Test,简便快速生成测试方法。
相关注解
@RunWith(SpringRunner.class) 表示要在测试环境中跑,底层实现是 jUnit测试工具。
@SpringBootTest 表示启动整个 Spring工程
@AutoConfigureMockMvc
@Autowired
一、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")); } }