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

 

相关文章:

  • 2021-05-07
  • 2022-02-11
  • 2021-09-30
  • 2021-06-25
  • 2021-10-15
  • 2022-02-19
  • 2021-04-05
猜你喜欢
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-12-08
  • 2022-01-09
相关资源
相似解决方案