zoukankan      html  css  js  c++  java
  • Spring Boot Test

    package com.example.demo;
    
    import static org.hamcrest.Matchers.containsString;
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
    
    import org.junit.After;
    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.test.context.junit4.SpringRunner;
    import org.springframework.test.context.web.WebAppConfiguration;
    import org.springframework.test.web.servlet.MockMvc;
    import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
    import org.springframework.test.web.servlet.setup.MockMvcBuilders;
    import org.springframework.web.context.WebApplicationContext;
    
    import com.google.gson.GsonBuilder;
    
    @WebAppConfiguration
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = {DemoApplication.class})
    public class ApplicationMockBase {
    
        @Autowired
        private WebApplicationContext context;
    
        private MockMvc mockMvc;
    
        @Before
        public void before() {
            mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
        }
    
    
        @After
        public void after() {}
    
        public String data() {
            RequestDto dto = new RequestDto();
            dto.setKeyword("这是一个关键字");
            dto.setToken("test");
            return new GsonBuilder().create().toJson(dto);
        }
    
        @Test
        public void test() throws Exception {
            mockMvc.perform(post("/portal/post").//
                    contentType(MediaType.APPLICATION_JSON_UTF8).//
                    content(data()).//
                    accept(MediaType.APPLICATION_JSON_UTF8)).//
                    andDo(MockMvcResultHandlers.print()).//
                    andExpect(status().isOk()).//
                    andExpect(content().string(containsString("succ"))).//
                    andExpect(jsonPath("$.code").value("0")).//
                    andExpect(jsonPath("$.name").value("中文测试"));//
        }
    }
  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/jpit/p/7503656.html
Copyright © 2011-2022 走看看