一、須要javax.servlet-api V3.0以上支持java
<!--3.0以上版本--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency> <!--3.0一下版本--> <!--<dependency>--> <!--<groupId>javax.servlet</groupId>--> <!--<artifactId>servlet-api</artifactId>--> <!--<version>${servlet.api.version}</version>--> <!--<scope>provided</scope>--> <!--</dependency>--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.1.6.RELEASE</version> </dependency>
二、實例web
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"classpath*:/spring.xml","classpath*:/springmvc-web.xml"}) @WebAppConfiguration public class SpringMVCTest { // 模擬request,response private MockHttpServletRequest request; private MockHttpServletResponse response; @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Autowired private ManualTaskController manualTaskController; @Before public void setUp(){ request = new MockHttpServletRequest(); request.setCharacterEncoding("UTF-8"); response = new MockHttpServletResponse(); mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); } /** * 使用對象接口方式 */ @Test public void testHeatMap(){ ManualTaskReq req = new ManualTaskReq(); BaseResponse baseResponse = manualTaskController.queryTest(req); System.out.println(baseResponse.getData()); } /** * 使用URL方式 * @throws Exception */ @Test public void testByUrl() throws Exception { ManualTaskReq req = new ManualTaskReq(); req.setTableName("test_table"); req.setStartDate("2018-01-01"); req.setEndDate("2018-11-11"); mockMvc.perform(MockMvcRequestBuilders.post("/manualTask/queryTest.do") .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .content(JSONObject.toJSONString(req))).andDo(MockMvcResultHandlers.print()); } }