zoukankan      html  css  js  c++  java
  • 使用MockMVC与Junit进行单体测试

    1、pom.xml追加

    junit

    spring-test

    2、测试共通类

    @ContextConfiguration(locations = { "classpath:springframework/application-context.xml",
            "classpath:springframework/dispatcherservlet-servlet.xml" })
    @RunWith(SpringJUnit4ClassRunner.class)
    @WebAppConfiguration
    @Transactional
    abstract public class TestCommon {
    
        private static final Logger LOG = LogManager.getLogger();
    
        private MockMvc mockMvc;
    
        @Autowired
        private WebApplicationContext wac;
    
        @Before
        public void setUp() {
            mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
        }
    
    }

    3、示例

    public class MemberTest extends TestCommon {
    
        /**
         * 请求:新增,请求方式:POST
         */
        @Test
        @Rollback(false)
        public void add() throws Exception {
            String uri = "/member/add";
            Map<String, String> contentParams = new HashMap<>();
            contentParams.put("name", "测试用姓名");
            contentParams.put("sex", "男");
            String jsonStr = new ObjectMapper().writeValueAsString(contentParams);
            MockHttpServletResponse response = mockMvc.perform(
                    MockMvcRequestBuilders.post(uri).contentType(MediaType.APPLICATION_JSON_UTF8).content(jsonStr))
                    .andReturn().getResponse();
            if (response.getStatus() != HttpServletResponse.SC_OK) {
                fail("Http" + response.getStatus());
            }
                LOG.info(response.getContentAsString());
        }
    
    }

    4、如果想测试除post以外的请求,可以调用MockMvcRequestBuilders的get, put等方法

    5、类似于URL中的“?page=2”的参数,可以调用MockMvcRequestBuilders的params方法

  • 相关阅读:
    机器学习-初学者入门
    安装.cer证书并将证书从.cer格式转化为.pem格式
    字符串反转C#的实现
    Linux系统下远程文件拷贝scp命令
    【Django】ESRTful APi
    数据结构-栈跟队列基础部分
    数据结构-排序
    数据分析--Matplotlib的基本使用
    数据分析--pandas的基本使用
    数据分析--numpy的基本使用
  • 原文地址:https://www.cnblogs.com/deolin/p/7536858.html
Copyright © 2011-2022 走看看