Java MockServer意外响应为空正文

Java MockServer意外响应为空正文,java,mockserver,mockserver-netty,Java,Mockserver,Mockserver Netty,让我们看一个测试,它使用MockServer(org.mock server:MockServer-netty:5.10.0)来模拟响应 预期响应主体将等于字符串“something”。 然而,该测试失败,因为响应主体是一个空字符串 @Test void test1() throws Exception { var server = ClientAndServer.startClientAndServer(9001); server .when(

让我们看一个测试,它使用MockServer(
org.mock server:MockServer-netty:5.10.0
)来模拟响应

预期响应主体将等于字符串
“something”
。 然而,该测试失败,因为响应主体是一个空字符串

  @Test 
  void test1() throws Exception {

    var server = ClientAndServer.startClientAndServer(9001);

    server
        .when(
            request().withMethod("POST").withPath("/checks/"),
            exactly(1)
        )
        .respond(
            response()
                .withBody("\"something\"")
                .withStatusCode(205)
                .withHeader("Content-Type", "application/json")
        );

    HttpRequest request = HttpRequest.newBuilder()
                                     .uri(URI.create("http://localhost:9001/checks/"))
                                     .POST(BodyPublishers.noBody())
                                     .build();

    HttpResponse<String> response =
        HttpClient.newHttpClient().send(request, BodyHandlers.ofString());

    assertEquals(205, response.statusCode());
    assertEquals("something", response.body()); // fails
  }
@测试
void test1()引发异常{
var server=ClientAndServer.startClientAndServer(9001);
服务器
.什么时候(
request().withMethod(“POST”).withPath(“/checks/”),
正是(1)
)
.回应(
答复()
.withBody(“\'something\”)
.带状态码(205)
.withHeader(“内容类型”、“应用程序/json”)
);
HttpRequest请求=HttpRequest.newBuilder()
.uri(uri.create(“http://localhost:9001/checks/"))
.POST(bodypublisher.noBody())
.build();
HttpResponse响应=
HttpClient.newHttpClient().send(请求,BodyHandlers.ofString());
assertEquals(205,response.statusCode());
assertEquals(“something”,response.body());//失败
}

如何使响应正文与
response()中提供的字符串相等。withBody(…)

问题在于客户端。它会删除内容

为什么

因为,
http205
RESET\u内容
。 此状态被意外地选择为“与HTTP 200不同的某物”,不幸地导致了此行为。
看起来这是一个非常流行的“意外”错误(即),尽管它严格符合。

可能问题在于,
“something”
不是有效的JSON,正如您声称的内容类型?此外,应该是
“\'something\”
——尽管您说主体是空的。根据定义,string是一个有效的JSON