spring boot 单元测试

来源:互联网 发布:vb语言基本代码 编辑:程序博客网 时间:2024/06/11 00:17

package com.example;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;import java.util.List;import javax.servlet.ServletContext;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.http.MediaType;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.mock.web.MockHttpSession;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.web.servlet.MockMvc;import org.springframework.test.web.servlet.MvcResult;import org.springframework.test.web.servlet.setup.MockMvcBuilders;import org.springframework.web.context.WebApplicationContext;import com.example.controller.MultiController;@RunWith(SpringRunner.class)@SpringBootTestpublic class ThreadTestApplicationTests {@Autowiredprivate MultiController multilController;@Autowiredpublic MockHttpServletRequest mockRequest;private MockMvc mockMvc;@AutowiredServletContext context;@Autowiredprotected WebApplicationContext wac;MockHttpSession session;@Beforepublic void setup() {mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); // 这个方法接受// WebApplicationContext参数,可以对任意Controller测试// mockMvc =MockMvcBuilders.standaloneSetup(wDController).build();// 可以对单独的Controller测试// mockMvc =MockMvcBuilders.standaloneSetup(context).build();// 测试未成功,应该是和spring的配置有关系session = new MockHttpSession(); // 可以使用session 对于包含登录的,需要验证session中的数据}/** * 测试方法一:直接调用controller */@Testpublic void contextLoads() {for (int i = 0; i < 8; i++) {try {List<String> list = multilController.test("msg"+i, mockRequest);System.out.println("i: "+ i+ "-->"+ list);} catch (Exception e) {e.printStackTrace();}}}/** * 测试方法二: 采用mockMvc  */@Testpublic void contextLoads2() {for (int i = 0; i < 8; i++) {try {MvcResult result =mockMvc.perform(get("/test").param("msg", "msg" + i).session(session).accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()).andDo(print()).andReturn();String re = result.getResponse().getContentAsString();System.out.println("i: "+ i+ "-->"+ re);} catch (Exception e) {e.printStackTrace();}}}}

直接看代码:



0 0
原创粉丝点击