java - MockServer 以空的正文意外响应
问题描述
让我们看一个测试,它使用 MockServer ( org.mock-server:mockserver-netty:5.10.0
) 来模拟响应。
预计响应正文将等于 string "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
}
如何使响应正文等于中提供的字符串response().withBody(...)
?
解决方案
推荐阅读
- discord - 将反应复制到不和谐消息
- reactjs - 找不到模块:无法解析 header.js 或 app.js
- javascript - 结合ChartsJs以德语数据格式输入数据
- java - Mockito,如何验证是否调用了测试类的方法?
- javascript - `Object.prototype.constructor` 和 `Symbol.species` 有什么区别?
- windows - JFrog 工件:配置向导未启动
- python - VS 2019 中的 Python 代码,突出显示的引用颜色不起作用
- python - 根据条件合并两个具有相同维度的数组
- c# - UWP XAML 如何识别来自字符串的 ImageSource 转换
- postgresql - 如何从 Postgres 循环流式传输行?(F#/.NET 但任何其他语言都可以)