zoukankan      html  css  js  c++  java
  • Spring Boot 编写Mock测试

    引入Maven依赖:

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

    测试Controller的代码

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class TestControllerTest {
    
        @Autowired
        private WebApplicationContext webApplicationContext;
    
        private MockMvc mockMvc;
    
        @Before
        public void setupMockMvc(){
            mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
        }
    
         @Test
        public void testTes() throws Exception{
            mockMvc.perform(MockMvcRequestBuilders.get("/api/test") // 发出请求
                    .contentType(MediaType.APPLICATION_JSON_UTF8) //期望的内容类型
                    .accept(MediaType.APPLICATION_JSON_UTF8)) //期望接收的内容类型
                    .andExpect(MockMvcResultMatchers.status().isOk()) //期望结果是200
                    .andDo(MockMvcResultHandlers.print()); // 期望把结果打印出来
         }
    }

    Mock测试打印输出的日志:

    MockHttpServletRequest:
          HTTP Method = GET
          Request URI = /api/test
           Parameters = {}
              Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/json;charset=UTF-8"]
                 Body = null
        Session Attrs = {}
    
    Handler:
                 Type = com.fubin.controller.TestController
               Method = public java.lang.Object com.fubin.controller.TestController.test()
    
    Async:
        Async started = false
         Async result = null
    
    Resolved Exception:
                 Type = null
    
    ModelAndView:
            View name = null
                 View = null
                Model = null
    
    FlashMap:
           Attributes = null
    
    MockHttpServletResponse:
               Status = 200
        Error message = null
              Headers = [Content-Type:"application/json;charset=UTF-8"]
         Content type = application/json;charset=UTF-8
                 Body = {"id":2,"name":"fubin","age":28,"url":"https://fubin.org.cn"}
        Forwarded URL = null
       Redirected URL = null
              Cookies = []
  • 相关阅读:
    IIS 解决问题:HTTP 错误 401.1
    Mvc
    如何将word公式粘贴到UMEditor里面
    SpringCloud上传大文件并支持中途取消上传
    SpringBoot上传大文件并支持中途取消上传
    SpringMVC上传大文件并支持中途取消上传
    csharp上传大文件并支持中途取消上传
    c#上传大文件并支持中途取消上传
    .net上传大文件并支持中途取消上传
    c#.net上传大文件并支持中途取消上传
  • 原文地址:https://www.cnblogs.com/fubinhnust/p/12013999.html
Copyright © 2011-2022 走看看