package com.test.web;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.fileUpload;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import com.test.config.AppConfig;
import com.test.domain.User;
import com.test.util.JsonUtil;
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes={ AppConfig.class})
public class UserControllerTest {
@Autowired
private WebApplicationContext webApplicationContext;
private MockMvc mockMvc;
@Before
public void init(){
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
@Test
public void printBeans(){
String[] beans=webApplicationContext.getBeanDefinitionNames();
for (String bean : beans) {
System.out.println(bean);
}
}
/*测试以普通请求参数发送的请求*/
@Test
public void testSave() throws Exception {
mockMvc.perform(post("/user/save").param("id", "123").param("username", "you")).andExpect(status().isOk()).andExpect(view().name("save"));
}
/*测试将数据以JSON格式写入请求体发送的请求*/
@Test
public void testGet() throws Exception {
mockMvc.perform(post("/user/getUser").contentType(JsonUtil.APPLICATION_JSON_UTF8).content(JsonUtil.convertObjectToJsonBytes(new User(22,"werwr")))).andExpect(status().isOk());
}
/*测试将数据以JSON格式写入请求体发送的请求*/
@Test
public void testGetAll() throws IOException, Exception {
List<User> list=new ArrayList<User>();
list.add(new User(23,"你爱我"));
list.add(new User(25,"我不爱你"));
mockMvc.perform(post("/user/getUsers").contentType(JsonUtil.APPLICATION_JSON_UTF8).content(JsonUtil.convertObjectToJsonBytes(list))).andExpect(status().isOk());
}
/*测试文件上传发送的请求*/
@Test
public void testUpload() throws Exception{
MockMultipartFile file = new MockMultipartFile("file", "orig.txt", null, "bar".getBytes());
mockMvc.perform(fileUpload("/user/upload").file(file)).andExpect(status().isOk());
}
}
spring mvc的简单单元测试
5星 · 超过95%的资源 需积分: 49 61 浏览量
2014-03-14
00:13:49
上传
评论 2
收藏 96KB ZIP 举报
xiejx618
- 粉丝: 226
- 资源: 75
最新资源
- 基于Python的图像阴影检测与去除源码(高分期末大作业项目).zip
- 基于C++/Qt实现的井字棋游戏
- 基于 Python 编程语言的 Web 框架Django
- Python和Flask实现的基于体检数据的城市公共健康可视分析系统源码+使用说明.zip
- 基于python实现的华为智慧工地-安全帽检测
- buck-boost_2023-12-16_12-12-13.eprj
- 后端开发关于数据库和API开发的介绍
- 机器学习和数据挖掘课程设计-米其林餐厅数据挖掘管理系统源码+使用文档说明.zip
- html html html展示我与ai的对化
- 数据结构课程设计-全国交通出行咨询模拟系统C语言实现源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
前往页