TDD的简述及环境配置
TDD的简述及环境配置
描述
- TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程
优点
缺点
配置环境
- 在测试类上添加@RunWith和@SpringBootTest注解
- 测试类中注入WebApplicationContext类
- 引入MockMvc类
- 为何使用MockMvc?
- 对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等,所以为了可以对Controller进行测试,我们引入了MockMVC。
- MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。
- 代码
-
private MockMvc mockMvc;
- 在测试类的前置通知里用
MockMvcBuilders.webAppContextSetup(context).build();
构建MockMvc
编写测试方法
- 在方法头部添加@Test注解
- 输入测试API
- 指定数据格式(dataType)
- 传入参数
- 规定响应数据的结果
- 代码如下
-
@Test
public void whenQueryAllUserSuccess() throws Exception {
String result=mockMvc.perform(MockMvcRequestBuilders.get("/test/getUser")
.contentType(MediaType.parseMediaType("application/json"))
.param("username","wxb")
.param("password","asd")
)
.andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("$.length()").value(5))
.andExpect(MockMvcResultMatchers.jsonPath("$[0].username").value("username0"))
.andReturn().getResponse().getContentAsString();
System.out.println(result);
}
原文地址:https://www.cnblogs.com/mogong/p/12723960.html