精华内容
下载资源
问答
  • .perform(get("/no-such-endpoint").accept(MediaType.APPLICATION_JSON)) .andExpect(status().isNotFound()); </code></pre> <p>I get simply <pre><code> HTTP/1.1 404 Not Found </code></pre> <p>...
  • 解决方案:这个问题其实是Content-type的问题,只需要在...mockMvc.perform(post("/user") // 路径 .contentType(MediaType.APPLICATION_JSON) //用contentType表示具体请求中的媒体类型信息,MediaType.APPLICA...

    解决方案:这个问题其实是Content-type的问题,只需要在相关的代码加入相关Content-type中就可以了,代码如下:

    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

    转载于:https://www.cnblogs.com/jpfss/p/10967309.html

    展开全文
  • mockMvc

    2020-04-12 18:38:06
    1.为什么使用mockMvc。 对模块进行集成测试时,希望能够通过输入url对controller进行测试。... (1.启动速度慢,2.测试验证不方便,3.... 1、MockMvcBuilder构造MockMvc的构造器 ... 2、mockMvc.perform执行一个请...
    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:表示执行完成后返回相应的结果
    展开全文
  • test的方法不能带参数 @Test public void executeTests(String urlname) throws Exception { ... ResultActions result = mockMvc.perform(MockMvcRequestBuilders.get(urlname)) .andExpect(MockMvcRe...

    test的方法不能带参数


        @Test
       public void executeTests(String urlname) throws Exception {
    
          ResultActions result = mockMvc.perform(MockMvcRequestBuilders.get(urlname))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andDo(MockMvcResultHandlers.print());
          String contentAsString = result.andReturn().getResponse().getContentAsString();
    
          JResult jResult = JSONObject.parseObject(contentAsString, JResult.class);
          Assert.assertEquals("0",jResult.getCode());
    
       }
    }
    
    }
    

    展开全文
  • * 1、mockMvc.perform执行一个请求。 * 2、MockMvcRequestBuilders.get("XXX")构造一个请求。 * 3、ResultActions.param添加请求传值 * 4、ResultActions.accept(MediaType.TEXT_HTML_VALU

    下面展示一些 内联代码片

    // 
    
    // An highlighted block
    @Test
    public void testHello() 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()输出整个响应结果信息。
    	 * 7、ResultActions.andReturn表示执行完成后返回相应的结果。
    	 */
    	mockMvc.perform(MockMvcRequestBuilders
    			.get("/hello")
    			// 设置返回值类型为utf-8,否则默认为ISO-8859-1
    			.accept(MediaType.APPLICATION_JSON_UTF8_VALUE)
    			.param("name", "Tom"))
    			.andExpect(MockMvcResultMatchers.status().isOk())
    			.andExpect(MockMvcResultMatchers.content().string("Hello Tom!"))
    			.andDo(MockMvcResultHandlers.print());
    }
    

    下面展示一些 内联代码片

    // A code block
    var foo = 'bar';
    
    // An highlighted block
        @Test
        public void testVideoListApi() throws Exception {
    
            MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/pub/video/list"))
                    .andExpect(MockMvcResultMatchers.status().isOk())
                    .andReturn();
    
            int status = mvcResult.getResponse().getStatus();
    
            System.out.println(status);
    
            String result = mvcResult.getResponse().getContentAsString(Charset.forName("utf-8"));
    
            System.out.println(result);
    
        }
    
    展开全文
  • 1. 设置注解 @RunWith(SpringRunner.class) @SpringBootTest(classes = {MyApplication.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) ... String jsonString = mockMvc.perform
  • //不成功 @Test public void updatePmProjectByIds_1() throws Exception { String jsth = "{\"ids\": [10] }";... MvcResult mvcResult = mockMVC.perform( MockMvcRequestBuilders.post("/pm/project/.
  • EnableHypermediaSupport.HypermediaType.HAL)</code> and the test includes <code>mockMvc.perform(post("").accept(MediaTypes.HAL_JSON)</code> the test passes. While this may not be a big deal, ...
  • spring mvc测试框架提供了两种方式,独立安装和集成Web环境...1、mockMvc.perform执行一个请求; 2、MockMvcRequestBuilders.get("/user/1")构造一个请求 3、ResultActions.andExpect添加执行完成后的断言 4、R...
  • at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:189)` </code></pre> <p>How to do ? Do you have an idea because I am a little lost. <p>Thanks, Jérémie</p><p>该提问来源于开源...
  • at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:182) at io.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.performRequest(MockMvcRequestSenderImpl.java:194) at io....
  • mockMvc.perform(post("/newdatamodify.do") .contentType(MediaType.APPLICATION_JSON).content(requestionJson)) .andDo(print()) .andReturn(); }catch(Exception e) e...
  • at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:165) at io.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.performRequest(MockMvcRequestSenderImpl.java:194) at io....
  • mockMvc.perform(asyncDispatch(startedAsyncRequestProcessing)).andReturn(); } else { mvcResult = perform.andReturn(); } return mvcResult; </code></pre> <p>where <code>mockMvcAsyncConfig...
  • 使用Spring的Pageable来实现分页查询

    万次阅读 2018-09-19 09:40:26
    1.导入包: import org.springframework.data.domain.Pageable; 2.测试类: @Test public void whenQuerySeccess() throws Exception{ mockMvc.perform( get("/user") ...
  • @Test public void testHello() throws Exception... mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(content().string(eq...
  • 文件上传与下载

    2019-11-01 17:18:43
    文件上传 @Test public void whenUploadSuccess() { try { String file = mockMvc.perform(MockMvcRequestBuilders.fileUpload("/file") .file(new MockMultipartFile(...
  • at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:163) [spring-test-4.3.10.RELEASE.jar:4.3.10.RELEASE] at ...
  • mockMvc.perform(post("/thirdThreeTree?" + reqStr.toString()).contentType(MediaType.APPLICATION_XML)) .andExpect(status().isOk()) .andDo(print()); ``` 进行单元测试的时候,因为req中的一个参数:app=...
  • Rest正则及JsonView

    2020-05-16 14:43:36
    正则 测试用例,期望返回错误 @Test public void whenGetInfoFail... mockMvc.perform(get("/book/10") .accept(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().is4xxClientError()); } @GetMap...
  • SpringMVC 详解

    2017-07-21 14:38:37
    [quote] MockMvc 使用之前的MockMvcBuilder.build()得到构建好的MockMvc;这个是mvc测试的核心API,对于该API的使用方式如下: Java代码 收藏代码 ...MvcResult result = mockMvc.perform(MockMvc...
  • <pre><code>mockMvc.perform(get("/movies?star=Homer&director=Anderson&page=0&size=3"))</code></pre> <pre><code>mockMvc.perform(get("/movies?star=Homer&...
  • 下面介绍了get、post、put、delete四种请求方式 @Test public void ... MvcResult result = mockMvc.perform(get("/face/match")) .andExpect(status().isOk())// 模拟向testRest发送get请求...
  • 测试 Spring Boot Web 的时候,我们需要用到 MockMvc,即系统伪造一个 mvc 环境。本章主要编写一个基于 RESTful API 正删改查操作的测试用例。本章最终测试用例运行结果如下: ...mockMvc.perform 执行...
  • Rest上传下载文件

    2020-05-16 22:20:42
    测试用例 @Test ... String result = mockMvc.perform(fileUpload("/file/upload") .file(new MockMultipartFile("file","testFile.txt","multipart/form-data", "hello upload".getBytes("UTF-...
  • mockito的最佳实践

    2019-03-23 07:17:30
    1.如何mock发送请求给controller GET @Test public void testMonitor() throws Exception { String url = "/monitor/alive";... String jsonStr = mockMvc.perform(get(url)).andExpect(status().isOk...
  • mock单测

    2019-09-21 04:48:05
    整个过程:1、mockMvc.perform执行一个请求;2、MockMvcRequestBuilders.get("/user/1")构造一个请求3、ResultActions.andExpect添加执行完成后的断言4、ResultActions.andDo添加一个结果处理器,表示要对结果做点...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

mockmvc.perform