如何使用RestAssured测试无效的编码REST响应

时间:2019-04-04 18:05:18

标签: api testing rest-assured

当请求中指定了无效的编码时,我正在尝试测试API返回的错误消息。 我正在发送带有纯文本正文和Content-Type标头“ application / html”的POST请求。我可以从邮递员那里成功地做到这一点。 但是RestAssured提示直接指定编码。

Don't know how to encode  {...} as a byte stream.
Please use EncoderConfig (EncoderConfig#encodeContentTypeAs) to specify how to serialize data for this content-type.
For example: "given().config(RestAssured.config().encoderConfig(encoderConfig().encodeContentTypeAs("application/html", ContentType.TEXT))). .."

但是即使我直接这样做,我也会从RestAssured那里得到相同的错误:

RestAssured.given().config(RestAssured.config().encoderConfig(EncoderConfig.encoderConfig().encodeContentTypeAs("application/html", ContentType.HTML)));

这是我使用的标题:

RestAssured.given().header("Content-Type", "application/html")

.header("accept", "application/json");

1 个答案:

答案 0 :(得分:0)

您可以设置请求的响应类型,还可以使用以下代码验证响应的内容类型。

given().contentType("application/json; charset=utf-8").when().get("http://localhost:3000/posts/").then().statusCode(200)
        .and().contentType("application/json; charset=utf-8");