当 statusCode 断言失败并重新保证时打印响应正文

mat*_*sbe 6 java rest unit-testing hamcrest rest-assured

我正在使用 Hamcrest 对 REST API 进行单元测试。

当我发送请求时,我经常检查这样的200状态代码:

public void myTest() {
    url = "route/to/my/rest/api/";
    secured().when().get(url).then().statusCode(200);
}
Run Code Online (Sandbox Code Playgroud)

但是当我得到错误的代码状态时,我只会得到一个断言错误。当状态代码不匹配时,有没有办法自动转储响应正文(其中包含错误)?

secured()方法:

public RequestSpecification secured() {
    return given().header("Authorization", "Bearer " + getAuth());
}
Run Code Online (Sandbox Code Playgroud)

mat*_*sbe 20

正如我在评论中提到的,我使用了以下内容

secured().when().post(url).then().log().ifValidationFails(LogDetail.BODY).statusCode(200);
Run Code Online (Sandbox Code Playgroud)

您可以在文档中找到来源