如何编写针对Restful API的测试用例

 时间:2026-02-15 02:29:44

1、首先需要引入spring-boot-starter-test,会帮我们把测试框架引入进来。

<dependency>


  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>

如何编写针对Restful API的测试用例

2、首先我们创建一个测试类UserControllerTest,然后加上@RunWith(SpringRunner.class和@SpringBootTest的注解。接下来我们通过@Autowired


private WebApplicationContext wac来伪造web环境。

如何编写针对Restful API的测试用例

3、然后使用@Before注解来初始化mockMvc,@Before注解会在每个测试用例调用之前执行。

@Before


public void setup() {
   mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
}

如何编写针对Restful API的测试用例

4、接下来我们写一个查询请求的测试方法,在该方法上添加@Test注解,使用MockMvcRequestBuilders.get()去模拟一个Get请求,MediaType.APPLICATION_JSON_UTF8指定媒体类型,MockMvcResultMatchers.status().isOk()表示结果,如下所示。

@Test


public void testQuery() throws Exception {
   // 模拟一个Get请求
   mockMvc.perform(MockMvcRequestBuilders.get("/user")
       // 媒体类型
   .contentType(MediaType.APPLICATION_JSON_UTF8))
       // 对请求结果的期望
       .andExpect(MockMvcResultMatchers.status().isOk())
       // 期望返回的是一个集合,集合的长度是3
       .andExpect(MockMvcResultMatchers
           .jsonPath("$.length()")
           .value(3));
}

如何编写针对Restful API的测试用例

5、我们执行该单元测试,但是测试没有通过,原因是因为我们期望的返回码是200,但是实际返回的是404,是因为我们还没有编写一个/user的请求。

如何编写针对Restful API的测试用例

6、新增一个/user请求的类,返回值为null如下图所示,执行单元测试后虽然不报404的错误了,但是测试依旧不通过,因为期望的返回值不能是null,因此我们在编写代码的时候还要给一个确切的返回值,我们返回有三个对象的list,可以看到通过了单元测试。

如何编写针对Restful API的测试用例

如何编写针对Restful API的测试用例

7、如果想在单元测试中添加参数,使用.param()进行参数传递,相应的方法中使用@RequestParam注解传递参数。

如何编写针对Restful API的测试用例

如何编写针对Restful API的测试用例

8、如果想添加分页参数到单元测试中,我们在方法中使用Pageable去接收参数,使用@PageableDefault()注解给分页添加默认值。

如何编写针对Restful API的测试用例

如何编写针对Restful API的测试用例

  • 如何处理PERT2型管材焊接过程出现的虚焊问题
  • 2021年元旦高速免费吗
  • 汽车湿式制动器的正确使用方法
  • 战国手游攻略最强阵容
  • 将神地宫探宝攻略 地宫探宝玩法技巧详解
  • 热门搜索
    兵马俑在哪里 windows自动更新怎么关闭 如何预防艾滋病 如何查询wifi密码 旅游宣传口号 如何学好化学 合肥哪里好玩 孩子学习不主动怎么办 苹果ipad怎么用 如何治疗早泄