设置restAssured以全局记录所有请求和响应

Muc*_*ing 10 java rest logging rest-assured

我想默认启用所有restAssured响应和请求的日志记录.

这是我做的:

RestAssured.requestSpecification = new RequestSpecBuilder().
        setBaseUri("api").
        setContentType(ContentType.JSON).
        build().
        log().all();
RestAssured.responseSpecification = new ResponseSpecBuilder().
        build().
        log().all();
Run Code Online (Sandbox Code Playgroud)

requestSpecification工作正常,但有了responseSpecification我得到:

由于未定义请求规范,因此无法配置日志记录.您可能在滥用API.

我真的不想在每次之后使用log().all().

Lui*_*avo 18

把这行代码放在你的@BeforeClass方法上,每个给定的调用都会创建一个日志,就像在每次给定之后使用 log.all() 一样:

RestAssured.filters(new RequestLoggingFilter(), new ResponseLoggingFilter());
Run Code Online (Sandbox Code Playgroud)


Rest-Assured 项目:https :
//github.com/rest-assured/rest-assured/blob/master/rest-assured/src/main/java/io/restassured/filter/log/RequestLoggingFilter.java


Roc*_*oon 11

将日志记录筛选器添加到RestAssured的默认值,请参见此处.

  • 谢谢,我刚刚将ResponseLoggingFilter添加到requestSpecification.```addFilter(new ResponseLoggingFilter())``` (3认同)

小智 7

我认为您需要查看日志然后测试失败,在这种情况下,请放心使用此配置:

RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();