精华内容
下载资源
问答
  • mockMvc

    2020-04-12 18:38:06
    1.为什么使用mockMvc。 对模块进行集成测试时,希望能够通过输入url对controller进行测试。如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦 (1.启动速度慢,2.测试验证不方便,3.依赖...
    1.为什么使用mockMvc。
        对模块进行集成测试时,希望能够通过输入url对controller进行测试。如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦
    (1.启动速度慢,2.测试验证不方便,3.依赖网络环境)
    2.测试逻辑
       1、 MockMvcBuilder构造MockMvc的构造器
        2、mockMvc.perform执行一个请求。
        3、MockMvcRequestBuilders.get("XXX")构造一个请求。
        4、ResultActions.param添加请求传值
        5、ResultActions.accept(MediaType.TEXT_HTML_VALUE))设置返回类型
        6、ResultActions.andExpect添加执行完成后的断言。
        7、ResultActions.andDo添加一个结果处理器,表示要对结果做点什么事情
         * 比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。
        8、ResultActions.andReturn表示执行完成后返回相应的结果。
    3.mockMvcBuilder:
        MockMvc是spring测试下的一个非常好用的类,他们的初始化需要在setUp中进行。
        MockMvcBuilder是用来构造MockMvc的构造器,其主要有两个实现:StandaloneMockMvcBuilder和DefaultMockMvcBuilder,前者继承了后者。
        ① MockMvcBuilders.webAppContextSetup(WebApplicationContext context):指定WebApplicationContext,将会从该上下文获取相应的控制器并得到相应的MockMvc;
        ② MockMvcBuilders.standaloneSetup(Object... controllers):通过参数指定一组控制器,这样就不需要从上下文获取了,比如this.mockMvc = MockMvcBuilders.standaloneSetup(this.controller).build();
    4. MockMvcRequestBuilders
        从名字可以看出,RequestBuilder用来构建请求的
        主要API:
        MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables):根据uri模板和uri变量值得到一个GET请求方式的RequestBuilder,如果在controller的方法中method选择的是           RequestMethod.GET,那在controllerTest中对应就要使用MockMvcRequestBuilders.get。
        post(String urlTemplate, Object... urlVariables):同get类似,但是是POST方法;
        put(String urlTemplate, Object... urlVariables):同get类似,但是是PUT方法;
        delete(String urlTemplate, Object... urlVariables) :同get类似,但是是DELETE方法;
        options(String urlTemplate, Object... urlVariables):同get类似,但是是OPTIONS方法;
    5. ResultActions
        调用MockMvc.perform(RequestBuilder requestBuilder)后将得到ResultActions,对ResultActions有以下三种处理:
        ResultActions.andExpect:添加执行完成后的断言。添加ResultMatcher验证规则,验证控制器执行完成后结果是否正确;
        ResultActions.andDo:添加一个结果处理器,比如此处使用.andDo(MockMvcResultHandlers.print())输出整个响应结果信息,可以在调试的时候使用。
        ResultActions.andReturn:表示执行完成后返回相应的结果
    展开全文
  • MockMvc

    2018-12-11 15:38:47
    ★ MockMvc - SpringMVC单元测试的独立测试: 一、简介 为何使用MockMvc?  对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得...

    ★  MockMvc - SpringMVC单元测试的独立测试:
    一、简介
    为何使用MockMvc?
            对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等,所以为了可以对Controller进行测试,我们引入了MockMVC。
            MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。

    二、测试逻辑

    MockMvcBuilder构造MockMvc的构造器;

    mockMvc调用perform,执行一个RequestBuilder请求,调用controller的业务处理逻辑;

    perform返回ResultActions,返回操作结果,通过ResultActions,提供了统一的验证方式;

    使用StatusResultMatchers对请求结果进行验证;

    使用ContentResultMatchers对请求返回的内容进行验证;

    三、MockMvcBuilder
    MockMvc是spring测试下的一个非常好用的类,他们的初始化需要在setUp中进行。
    MockMvcBuilder是用来构造MockMvc的构造器,其主要有两个实现:StandaloneMockMvcBuilder和DefaultMockMvcBuilder,前者继承了后者。
    ① MockMvcBuilders.webAppContextSetup(WebApplicationContext context):指定WebApplicationContext,将会从该上下文获取相应的控制器并得到相应的MockMvc;
    ② MockMvcBuilders.standaloneSetup(Object... controllers):通过参数指定一组控制器,这样就不需要从上下文获取了,比如this.mockMvc = MockMvcBuilders.standaloneSetup(this.controller).build();
    这些Builder还提供了其他api,可以自行百度

    四、MockMvcRequestBuilders
            从名字可以看出,RequestBuilder用来构建请求的,其提供了一个方法buildRequest(ServletContext servletContext)用于构建MockHttpServletRequest;其主要有两个子类MockHttpServletRequestBuilder和MockMultipartHttpServletRequestBuilder(如文件上传使用),即用来Mock客户端请求需要的所有数据。
    主要API:
    MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables):根据uri模板和uri变量值得到一个GET请求方式的RequestBuilder,如果在controller的方法中method选择的是RequestMethod.GET,那在controllerTest中对应就要使用MockMvcRequestBuilders.get。
    post(String urlTemplate, Object... urlVariables):同get类似,但是是POST方法;
    put(String urlTemplate, Object... urlVariables):同get类似,但是是PUT方法;
    delete(String urlTemplate, Object... urlVariables) :同get类似,但是是DELETE方法;
    options(String urlTemplate, Object... urlVariables):同get类似,但是是OPTIONS方法;

    五、ResultActions
        调用MockMvc.perform(RequestBuilder requestBuilder)后将得到ResultActions,对ResultActions有以下三种处理:

    ResultActions.andExpect:添加执行完成后的断言。添加ResultMatcher验证规则,验证控制器执行完成后结果是否正确;

    ResultActions.andDo:添加一个结果处理器,比如此处使用.andDo(MockMvcResultHandlers.print())输出整个响应结果信息,可以在调试的时候使用。

    ResultActions.andReturn:表示执行完成后返回相应的结果

    备注:
        ResultHandler用于对处理的结果进行相应处理的,比如输出整个请求/响应等信息方便调试,Spring mvc测试框架提供了MockMvcResultHandlers静态工厂方法,该工厂提供了ResultHandler print()返回一个输出MvcResult详细信息到控制台的ResultHandler实现

    例子:

    String example= "{"id":1, "name":"kqzu"}";  
    mockMvc.perform(post("/user")  // 路径
                .contentType(MediaType.APPLICATION_JSON)   //用contentType表示具体请求中的媒体类型信息,MediaType.APPLICATION_JSON表示互联网媒体类型的json数据格式(见备注)
                .content(example)  
                .accept(MediaType.APPLICATION_JSON)) //accept指定客户端能够接收的内容类型 
                .andExpect(content().contentType("application/json;charset=UTF-8")) //验证响应contentType == application/json;charset=UTF-8
                .andExpect(jsonPath("$.id").value(1)) //验证id是否为1,jsonPath的使用
                .andExpect(jsonPath("$.name).value("kqzhu");  // 验证name是否等于Zhukeqian
    String errorExample = "{"id":1, "name":"kqzhu"}";  
    MvcResult result = mockMvc.perform(post("/user")  
            .contentType(MediaType.APPLICATION_JSON)
            .content(errorExample)  
            .accept(MediaType.APPLICATION_JSON)) //执行请求  
            .andExpect(status().isBadRequest()) //400错误请求,  status().isOk() 正确  status().isNotFound() 验证控制器不存在
            .andReturn();  //返回MvcResult
    
    备注:使用Content-type来指定不同格式的请求信息,下面例举在日常的开发中,常会用的若干content-type的内容格式
    

        例如: Content-Type: text/html;charset:utf-8;
     常见的媒体格式类型如下:
        text/html : HTML格式
        text/plain :纯文本格式      
        text/xml :  XML格式 /
        image/gif :gif图片格式    
        image/jpeg :jpg图片格式 
        image/png:png图片格式
       以application开头的媒体格式类型:
       application/xhtml+xml :XHTML格式
       application/xml     : XML数据格式
       application/atom+xml  :Atom XML聚合格式    
       application/json    : JSON数据格式
       application/pdf       :pdf格式  
       application/msword  : Word文档格式
       application/octet-stream : 二进制流数据(如常见的文件下载)
       application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
       另外一种常见的媒体格式是上传文件之时使用的:
        multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

    附录:Requests & Responses 的标识及解释 


    六、ResultMatchers 
            ResultMatcher用来匹配执行完请求后的结果验证,其就一个match(MvcResult result)断言方法,如果匹配失败将抛出相应的异常,spring mvc测试框架提供了很多***ResultMatchers来满足测试需求。
    具体请百度。

    七、MvcResult
            即执行完控制器后得到的整个结果,并不仅仅是返回值,其包含了测试时需要的所有信息。
    MockHttpServletRequest getRequest():得到执行的请求;
    MockHttpServletResponse getResponse():得到执行后的响应;
    Object getHandler():得到执行的处理器,一般就是控制器;
    HandlerInterceptor[] getInterceptors():得到对处理器进行拦截的拦截器;
    ModelAndView getModelAndView():得到执行后的ModelAndView;
    Exception getResolvedException():得到HandlerExceptionResolver解析后的异常;
    FlashMap getFlashMap():得到FlashMap;
    Object getAsyncResult()/Object getAsyncResult(long timeout):得到异步执行的结果;

    资料:史上最全,Spring MVC测试框架详解——服务端测试


    原文:https://blog.csdn.net/kqZhu/article/details/78836275

    展开全文
  • MockMVC

    2020-03-12 14:27:50
    //断言,判断返回的值是否正确 } } 请求和响应信息输出 .andDo(MockMvcResultHandlers.print()) 请求的信息 相应的信息 参考链接: SpringBoot基础之MockMvc单元测试 SpringBoot 使用MockMvc进行Controller的测 在...

    在这里插入图片描述

    //@RequestParam
    
             mvc.perform(get("/xxx/vxx/wxxx")
                    .param("url","10.139.12.111:9999")
                    .contentType(MediaType.APPLICATION_JSON_UTF8))
                    .andExpect(status().isOk())
                    .andDo(print())
                    .andReturn().getResponse().getContentAsString();
    
    
    
    

    添加依赖

    SpringBoot中需要添加的依赖,一般新建的springBoot的项目默认自带

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
    </dependency>
    

    示例

         * 1、mockMvc.perform执行一个请求。
         * 2、MockMvcRequestBuilders.get("XXX")构造一个请求。
         * 3、ResultActions.param添加请求传值
         * ResultActions.contentType(MediaType.APPLICATION_JSON_UTF8)请求参数的类型
         * 4、ResultActions.accept(MediaType.TEXT_HTML_VALUE))设置返回类型
         * 5、ResultActions.andExpect添加执行完成后的断言。
         * 6、ResultActions.andDo添加一个结果处理器,表示要对结果做点什么事情
         *   比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。
         * 5、ResultActions.andReturn表示执行完成后返回相应的结果。
    

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    MockHttpServletRequestBuilder:

    • MockHttpServletRequestBuilder 主要有一下API:
    MockHttpServletRequestBuilder header(String name, Object... values)/MockHttpServletRequestBuilder headers(HttpHeaders httpHeaders):添加头信息;
    MockHttpServletRequestBuilder contentType(MediaType mediaType):指定请求的contentType头信息;
    MockHttpServletRequestBuilder accept(MediaType... mediaTypes)/MockHttpServletRequestBuilder accept(String... mediaTypes):指定请求的Accept头信息;
    MockHttpServletRequestBuilder content(byte[] content)/MockHttpServletRequestBuilder content(String content):指定请求Body体内容;
    MockHttpServletRequestBuilder param(String name,String... values):请求传入参数
    MockHttpServletRequestBuilder cookie(Cookie... cookies):指定请求的Cookie;
    MockHttpServletRequestBuilder locale(Locale locale):指定请求的Locale;
    MockHttpServletRequestBuilder characterEncoding(String encoding):指定请求字符编码;
    MockHttpServletRequestBuilder requestAttr(String name, Object value) :设置请求属性数据;
    MockHttpServletRequestBuilder sessionAttr(String name, Object value)/MockHttpServletRequestBuilder sessionAttrs(Map<string, object=""> sessionAttributes):设置请求session属性数据;
    MockHttpServletRequestBuilder flashAttr(String name, Object value)/MockHttpServletRequestBuilder flashAttrs(Map<string, object=""> flashAttributes):指定请求的flash信息,比如重定向后的属性信息;
    MockHttpServletRequestBuilder session(MockHttpSession session) :指定请求的Session;
    MockHttpServletRequestBuilder principal(Principal principal) :指定请求的Principal;
    MockHttpServletRequestBuilder contextPath(String contextPath) :指定请求的上下文路径,必须以“/”开头,且不能以“/”结尾;
    MockHttpServletRequestBuilder pathInfo(String pathInfo) :请求的路径信息,必须以“/”开头;
    MockHttpServletRequestBuilder secure(boolean secure):请求是否使用安全通道;
    MockHttpServletRequestBuilder with(RequestPostProcessor postProcessor):请求的后处理器,用于自定义一些请求处理的扩展点;
    

    ResultActions:

    • 调用MockMvc.perform(RequestBuilder requestBuilder)后将得到ResultActions,通过ResultActions完成如下三件事:
    1. ResultActions andExpect(ResultMatcher matcher) :添加验证断言来判断执行请求后的结果是否是预期的;
    2. ResultActions andDo(ResultHandler handler) :添加结果处理器,用于对验证成功后执行的动作,如输出下请求/结果信息用于调试;
    3. MvcResult andReturn() :返回验证成功后的MvcResult;用于自定义验证/下一步的异步处理;
    

    创建一个Controller类,我们在后面就测试空上Controller

    @RestController
    public class HelloController {

    @RequestMapping("/")
    public String hello(String name){
        return "hello "+name;
    }
    

    }

    测试

    //SpringBoot1.4版本之前用的是SpringJUnit4ClassRunner.class
    @RunWith(SpringRunner.class)
    //SpringBoot1.4版本之前用的是@SpringApplicationConfiguration(classes = Application.class)
    @SpringBootTest(classes = App.class)
    //测试环境使用,用来表示测试环境使用的ApplicationContext将是WebApplicationContext类型的
    @WebAppConfiguration
    public class HelloControllerTest {
     
        @Autowired
        private WebApplicationContext webApplicationContext;
        private MockMvc mockMvc;
     
        @Before
        public void setUp() throws Exception{
            //MockMvcBuilders.webAppContextSetup(WebApplicationContext context):指定WebApplicationContext,将会从该上下文获取相应的控制器并得到相应的MockMvc;
            mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();//建议使用这种
        }
     
        @Test
        public void getHello() throws Exception{
     
            /**
             * 1、mockMvc.perform执行一个请求。
             * 2、MockMvcRequestBuilders.get("XXX")构造一个请求。
             * 3、ResultActions.param添加请求传值
             * 4、ResultActions.accept(MediaType.TEXT_HTML_VALUE))设置返回类型
             * 5、ResultActions.andExpect添加执行完成后的断言。
             * 6、ResultActions.andDo添加一个结果处理器,表示要对结果做点什么事情
             *   比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。
             * 5、ResultActions.andReturn表示执行完成后返回相应的结果。
             */
     
            MvcResult mvcResult= mockMvc.perform(MockMvcRequestBuilders.get("/")
                    .param("name","lvgang")
                    .accept(MediaType.TEXT_HTML_VALUE))
                   // .andExpect(MockMvcResultMatchers.status().isOk())             //等同于Assert.assertEquals(200,status);
                   // .andExpect(MockMvcResultMatchers.content().string("hello lvgang"))    //等同于 Assert.assertEquals("hello lvgang",content);
                    .andDo(MockMvcResultHandlers.print())
                    .andReturn();
            int status=mvcResult.getResponse().getStatus();                 //得到返回代码
            String content=mvcResult.getResponse().getContentAsString();    //得到返回结果
     
            Assert.assertEquals(200,status);                        //断言,判断返回代码是否正确
            Assert.assertEquals("hello lvgang",content);            //断言,判断返回的值是否正确
        }
    }
    

    请求和响应信息输出

    .andDo(MockMvcResultHandlers.print())
    请求的信息

    在这里插入图片描述
    相应的信息
    在这里插入图片描述
    参考链接:
    SpringBoot基础之MockMvc单元测试
    SpringBoot 使用MockMvc进行Controller的测
    在SpringBoot中使用MockMvc进行单位测试

    展开全文
  • MockMvc详解

    万次阅读 2018-10-26 18:31:58
    ★ MockMvc - SpringMVC单元测试的独立测试: 一、简介 为何使用MockMvc?  对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得...

    ★  MockMvc - SpringMVC单元测试的独立测试:
    一、简介
    为何使用MockMvc?
            对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等,所以为了可以对Controller进行测试,我们引入了MockMVC。
            MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。

    二、测试逻辑

    MockMvcBuilder构造MockMvc的构造器;

    mockMvc调用perform,执行一个RequestBuilder请求,调用controller的业务处理逻辑;

    perform返回ResultActions,返回操作结果,通过ResultActions,提供了统一的验证方式;

    使用StatusResultMatchers对请求结果进行验证;

    使用ContentResultMatchers对请求返回的内容进行验证;

    三、MockMvcBuilder
    MockMvc是spring测试下的一个非常好用的类,他们的初始化需要在setUp中进行。
    MockMvcBuilder是用来构造MockMvc的构造器,其主要有两个实现:StandaloneMockMvcBuilder和DefaultMockMvcBuilder,前者继承了后者。
    ① MockMvcBuilders.webAppContextSetup(WebApplicationContext context):指定WebApplicationContext,将会从该上下文获取相应的控制器并得到相应的MockMvc;
    ② MockMvcBuilders.standaloneSetup(Object... controllers):通过参数指定一组控制器,这样就不需要从上下文获取了,比如this.mockMvc = MockMvcBuilders.standaloneSetup(this.controller).build();
    这些Builder还提供了其他api,可以自行百度

    四、MockMvcRequestBuilders
            从名字可以看出,RequestBuilder用来构建请求的,其提供了一个方法buildRequest(ServletContext servletContext)用于构建MockHttpServletRequest;其主要有两个子类MockHttpServletRequestBuilder和MockMultipartHttpServletRequestBuilder(如文件上传使用),即用来Mock客户端请求需要的所有数据。
    主要API:
    MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables):根据uri模板和uri变量值得到一个GET请求方式的RequestBuilder,如果在controller的方法中method选择的是RequestMethod.GET,那在controllerTest中对应就要使用MockMvcRequestBuilders.get。
    post(String urlTemplate, Object... urlVariables):同get类似,但是是POST方法;
    put(String urlTemplate, Object... urlVariables):同get类似,但是是PUT方法;
    delete(String urlTemplate, Object... urlVariables) :同get类似,但是是DELETE方法;
    options(String urlTemplate, Object... urlVariables):同get类似,但是是OPTIONS方法;

    五、ResultActions
        调用MockMvc.perform(RequestBuilder requestBuilder)后将得到ResultActions,对ResultActions有以下三种处理:

    ResultActions.andExpect:添加执行完成后的断言。添加ResultMatcher验证规则,验证控制器执行完成后结果是否正确;

    ResultActions.andDo:添加一个结果处理器,比如此处使用.andDo(MockMvcResultHandlers.print())输出整个响应结果信息,可以在调试的时候使用。

    ResultActions.andReturn:表示执行完成后返回相应的结果

    备注:
        ResultHandler用于对处理的结果进行相应处理的,比如输出整个请求/响应等信息方便调试,Spring mvc测试框架提供了MockMvcResultHandlers静态工厂方法,该工厂提供了ResultHandler print()返回一个输出MvcResult详细信息到控制台的ResultHandler实现

    例子:

    String example= "{"id":1, "name":"kqzu"}";  
    mockMvc.perform(post("/user")  // 路径
                .contentType(MediaType.APPLICATION_JSON)   //用contentType表示具体请求中的媒体类型信息,MediaType.APPLICATION_JSON表示互联网媒体类型的json数据格式(见备注)
                .content(example)  
                .accept(MediaType.APPLICATION_JSON)) //accept指定客户端能够接收的内容类型 
                .andExpect(content().contentType("application/json;charset=UTF-8")) //验证响应contentType == application/json;charset=UTF-8
                .andExpect(jsonPath("$.id").value(1)) //验证id是否为1,jsonPath的使用
                .andExpect(jsonPath("$.name).value("kqzhu");  // 验证name是否等于Zhukeqian
    
    String errorExample = "{"id":1, "name":"kqzhu"}";  
    MvcResult result = mockMvc.perform(post("/user")  
            .contentType(MediaType.APPLICATION_JSON)
            .content(errorExample)  
            .accept(MediaType.APPLICATION_JSON)) //执行请求  
            .andExpect(status().isBadRequest()) //400错误请求,  status().isOk() 正确  status().isNotFound() 验证控制器不存在
            .andReturn();  //返回MvcResult

    备注:使用Content-type来指定不同格式的请求信息,下面例举在日常的开发中,常会用的若干content-type的内容格式
        例如: Content-Type: text/html;charset:utf-8;
     常见的媒体格式类型如下:
        text/html : HTML格式
        text/plain :纯文本格式      
        text/xml :  XML格式 /
        image/gif :gif图片格式    
        image/jpeg :jpg图片格式 
        image/png:png图片格式
       以application开头的媒体格式类型:
       application/xhtml+xml :XHTML格式
       application/xml     : XML数据格式
       application/atom+xml  :Atom XML聚合格式    
       application/json    : JSON数据格式
       application/pdf       :pdf格式  
       application/msword  : Word文档格式
       application/octet-stream : 二进制流数据(如常见的文件下载)
       application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
       另外一种常见的媒体格式是上传文件之时使用的:
        multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

    附录:Requests & Responses 的标识及解释 


    六、ResultMatchers 
            ResultMatcher用来匹配执行完请求后的结果验证,其就一个match(MvcResult result)断言方法,如果匹配失败将抛出相应的异常,spring mvc测试框架提供了很多***ResultMatchers来满足测试需求。
    具体请百度。

    七、MvcResult
            即执行完控制器后得到的整个结果,并不仅仅是返回值,其包含了测试时需要的所有信息。
    MockHttpServletRequest getRequest():得到执行的请求;
    MockHttpServletResponse getResponse():得到执行后的响应;
    Object getHandler():得到执行的处理器,一般就是控制器;
    HandlerInterceptor[] getInterceptors():得到对处理器进行拦截的拦截器;
    ModelAndView getModelAndView():得到执行后的ModelAndView;
    Exception getResolvedException():得到HandlerExceptionResolver解析后的异常;
    FlashMap getFlashMap():得到FlashMap;
    Object getAsyncResult()/Object getAsyncResult(long timeout):得到异步执行的结果;

    资料:史上最全,Spring MVC测试框架详解——服务端测试


    原文:https://blog.csdn.net/kqZhu/article/details/78836275
     

    展开全文
  • MockMvc入门

    2020-10-23 16:42:25
    1.使用场景 ...MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很...mockMvc调用
  • MockMvc 引入依赖 二 MockMvc 实现原理 2.1 集成 Web 环境方式 2.2 独立测试方式 三 MockMvc 接口测试实现 3.1 controller 类 3.2 test 类 3.3 运行结果 四 MockMvc 最佳实践总结 五 参考文档 一 MockMvc ...
  • MockMvc测试

    2019-03-08 03:35:50
    SpringBoot MockMvc Junit4进行单元测试前言使用SpringBoot MockMvc测试是快速测试的一种手段,需要在pom.xml文件中加入依赖 1234<dependency> <groupId>org.springframework.boot</groupId> <...
  • 今天看到了不用注解注入如何用mockmvc测试,回来之后研究了一下用注解注入的方式发现注解注入更方便,不需要区别各种情况。 问题: 那如何用注解来创建一个mockmvc呢是不是会更方便呢? 分析: 既然用注解获取到...
  • 使用Spring Boot H2构建的空间数据中心。 使用Spring的mockmvc进行测试 要运行测试并编译,请在主目录中运行mvn clean install
  • SpringBoot MockMVC

    2019-02-24 21:01:00
    使用MockMvc,我们可以完成基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试。 @RunWith(SpringRunner.class) @SpringBootTest @...
  • SpringBoot基础之MockMvc单元测试

    万次阅读 多人点赞 2019-04-02 22:58:34
    在《5分钟快速上手SpringBoot》中编写的单元测试使用了MockMvc。本篇文章就围绕MockMvc在SpringBoot中的使用进行讲解。 什么是Mock 在面向对象的程序设计中,模拟对象(英语:mock object)是以可控的方式模拟真实...
  • MockMVC的使用

    2021-04-18 15:41:35
    MockMVC 作用,请求 Controller 层是否正常,替代了 Postman 的作用 本文,复制黏贴即可使用,包含四种常见情况 Get 提交 params 和 pathvariable 、Post 提交 json 和 from 步骤讲解 参考大佬博客。 pom 依赖。...
  • MockMvc简单实用

    2020-10-29 14:30:11
    项目场景: ... 废话少说直接上代码: @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = controller.class) @WebAppConfiguration ... private MockMvc mockMvc; @Before public void setUp() thr
  • MockMvc单元测试

    2020-03-20 14:05:47
    MockMvc单元测试 ★ MockMvc - SpringMVC单元测试的独立测试: 一、简介 为何使用MockMvc? 对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会...
  • MockMvc使用总结

    2019-04-27 16:48:32
    protected MockMvc mockMvc; @Autowired protected WebApplicationContext wac; @Before //这个方法在每个方法执行之前都会执行一遍 public void setMockMvc() { mockMvc = MockMvcBuilders.webAppContextSetup...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,272
精华内容 508
关键字:

mockmvc