JUnit测试POST到参数化的API

问题描述 投票:0回答:1

我如何通过{service}到此JUnit测试?

@Test
public void test4() throws Exception {
    List<ProofOfDeliveryUndeliveredResult> returnList = new ArrayList<ProofOfDeliveryUndeliveredResult>();
    given(undeliveredQueryManager.prepareUndeliverServiceRecords(isA(UndeliveredRetrieveFilters.class),isA(String.class))).willReturn(ResponseEntity.ok().body(returnList));
    String response = server.perform(MockMvcRequestBuilders.post("/api/{service}/retrieve").contentType(MediaType.APPLICATION_JSON).content("{\"startRetrieveTime\":\"\",\"endRetrieveTime\":\"\",\"timeStampFormat\":\"\"}"))
        .andExpect(status().isOk())
        .andReturn()
        .getResponse()
        .getContentAsString();
    assertEquals(response,"[]"); 
}
java junit mockmvc web-api-testing
1个回答
1
投票

post()MockMvcRequestBuilders方法允许您传递参数的可变列表,请参见javadoc。所提供的参数将依次替换为URL。

© www.soinside.com 2019 - 2024. All rights reserved.