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

新手上路,请多包涵

我想为所有 RestAssured 默认情况下的响应和请求启用日志记录。

这是我所做的:

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

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

无法配置日志记录,因为未定义请求规范。您可能滥用了 API。

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

原文由 MuchHelping 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 810
2 个回答

将日志记录过滤器添加到 RestAssured 默认值,请参阅 过滤器默认值

要创建过滤器,您需要实现 io.restassured.filter.Filter 接口。要使用过滤器,您可以执行以下操作:

given().filter(new MyFilter()). ..

REST Assured 提供了几个可供使用的过滤器:

1. io.restassured.filter.log.RequestLoggingFilter:将打印请求规范详细信息的过滤器。

2. io.restassured.filter.log.ResponseLoggingFilter:如果响应与给定状态代码匹配,将打印响应详细信息的过滤器。

3. io.restassured.filter.log.ErrorLoggingFilter:如果发生错误,将打印响应正文的过滤器(状态代码在 400 到 500 之间)

任何过滤器都可以添加到请求、规范或全局默认值:

RestAssured.filters(..); // 默认过滤器列表

原文由 RocketRaccoon 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题