邮递员给出了正确的回复,但是对于同样的请求,可以保证返回空白吗?

时间:2017-03-19 06:24:21

标签: post rest-assured

正如您所看到邮递员返回预期结果

Expected result

但res.asString()在打击代码中给出了[],你能告诉我为什么吗?

def "simple test"(){
    String url="http://xxx.xxx.xxx/assessment/api/Test.html"

    when:""
    io.restassured.response.Response res=RestAssured.given().header("Content-Type", "application/x-www-form-urlencoded").formParam("Action", "getDiagnosisList").formParam("Data", "[{\"subject\":\"冠心病\",\"option\":\"是\"}]").post(url)

    then:""
    res.prettyPrint()=="[\"身体健康状态不良\",\"医疗处置\"]"
}

2 个答案:

答案 0 :(得分:1)

事实证明,默认情况下,中文字符无法正确编码,添加了打击代码后,所有内容都按预期工作:

 RestAssured.given().config(RestAssured.config().encoderConfig(EncoderConfig.encoderConfig().defaultContentCharset("UTF-8")))

答案 1 :(得分:0)

也许通过邮递员做的请求没有被缓存,另一方面,相同的请求通过restassured使用某种缓存。最近我遇到了类似的问题,因为它正在击中清漆服务器。我建议您查看邮递员和重新确认邮件的响应标题。