我正在使用Hamcrest对REST API进行单元测试。
发送请求时,我经常检查这样的200
状态代码:
public void myTest() {
url = "route/to/my/rest/api/";
secured().when().get(url).then().statusCode(200);
}
但是当我得到错误的代码状态时,我只会得到一个断言错误。当状态码不匹配时,是否有一种方法可以自动转储响应正文(包含错误)?
secured()
方法:
public RequestSpecification secured() {
return given().header("Authorization", "Bearer " + getAuth());
}
答案 0 :(得分:1)
正如我在评论中提到的,我使用了以下内容
secured().when().post(url).then().log().ifValidationFails(LogDetail.BODY).statusCode(200);
中找到源
答案 1 :(得分:0)
您可以在测试失败时向断言添加消息:
.statusCode(describedAs("The test fails because ...", is(200)))