基于JUnit测试Spring MVC的正确方法。(仅限Spring 3.2)
package controller;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
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.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import cn.com.fri.sysconfig.controller.SYSUserController;
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations = { "classpath:applicationContext-core.xml",
"classpath:applicationContext-servlet.xml" })
public class TestController {
@Autowired
private WebApplicationContext wac;
@Autowired
private SYSUserController userController;//你要测试的Controller
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = MockMvcBuilders.standaloneSetup(userController).build();
}
@Test
public void testFindPageUsers() throws Exception {
ResultActions ra = this.mockMvc.perform(MockMvcRequestBuilders
.post("/sysconfig/user/findPageUsers")
.accept(MediaType.APPLICATION_JSON).param("page", "1")
.param("limit", "10"));
MvcResult mr = ra.andReturn();
String result = mr.getResponse().getContentAsString();
log.info(result);
}
}
Spring-mvc-test包在Spring 3.2中已经被包含,我没有在其他版本中测试。
相关推荐
shirleypaddy 2020-10-19
qingmumu 2020-10-19
lustdevil 2020-10-18
ganlulululu 2020-10-12
lustdevil 2020-08-03
lustdevil 2020-07-18
lustdevil 2020-06-25
lustdevil 2020-06-21
zhengzf0 2020-06-21
宿命java 2020-06-15
JackYin 2020-06-14
dongxurr 2020-06-07
snowphy 2020-06-06
zhengzf0 2020-05-28
81901836 2020-05-26
Julywhj 2020-05-26