java - JUnit 测试 POST 到参数化 API

标签 java junit mockmvc web-api-testing

如何将 {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,"[]"); 
}

最佳答案

MockMvcRequestBuilderspost() 方法允许您传递可变参数列表,请参阅 javadoc 。提供的参数将按顺序替换到 URL 中。

server.perform(
  MockMvcRequestBuilders
    .post("/api/{service}/retrieve", "someservice")
    .contentType(MediaTy...

关于java - JUnit 测试 POST 到参数化 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60870798/

相关文章:

java - Spark 应用程序在 Heroku 构建后立即崩溃

java - 解决 Java Spring 应用程序中的竞争条件的最佳方法是什么?

spring-mvc - MockMVC 将测试 Controller 与 session 范围 bean 集成

java - AspectJ 关于 lambda 表达式的建议 : know where the lambda expression came from

java - JUnit 5 和测试套件

java - 如何测试使用 JPA 存储库的特定 javax 自定义 validator ?

android - JaCoCo 报告 0% 的代码覆盖率

unit-testing - JSON 路径没有值

java - Spring Test Controller上传Json和Multipart文件总是返回405

java - 特殊字符的常量?