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方法

  • 相关阅读:
    20165105 学习基础和C语言基础调查
    2017-2018网络攻防第四周作业
    2017-2018-2 20165233 实验三 敏捷开发与XP实践
    20165233 2017-2018-2 《Java程序设计》第九周学习总结
    Linux学习笔记(一)
    第三周学习总结
    数据结构C++,线性表学习
    uname()系统调用学习
    cd
    go连接数据库并执行文件中的sql语句
  • 原文地址:https://www.cnblogs.com/deolin/p/7536858.html
Copyright © 2011-2022 走看看