如何禁用REST-Assured调试打印到控制台?

时间:2017-11-12 09:20:33

标签: java rest-assured

默认情况下,Rest-Assured会将过多的调试数据打印到控制台。

任何人都可以告诉我如何禁用它?

2 个答案:

答案 0 :(得分:0)

从RestAssured删除行

RestAssured.baseURI = "http://" + System.getProperty("API_HOST");
RestAssured.port = Integer.parseInt(System.getProperty("API_PORT", "8080"));

或使用

System.setProperty("http.maxConnections","100");
config = config().httpClient(httpClientConfig().reuseHttpClientInstance().httpClientFactory(
    () -> new SystemDefaultHttpClient()
));

答案 1 :(得分:0)

您可以像这样告诉RestAssured要记录什么:

RestAssured
        .given()
        .log().ifValidationFails(LogDetail.ALL, true)
        .body(body)
        .post("URL")
        .then()
        .log().ifValidationFails(LogDetail.ALL, true)
        .extract()
        .jsonPath()
        .getObject("body", DTO.class)

如果出现问题,它将请求/响应信息打印到控制台。

您可以通过指定 io.restassured.filter.log.LogDetail 中的值来选择要记录的请求/响应的哪个部分,就像ifValidationFails()第一个参数一样。

如果您一直想要日志请求或响应,请使用此

RestAssured
            .given()
            .log().<all|body|headers|etc>()
            .body(body)
            .post("URL")
            .then()
            .log().<all|body|headers|etc>()
            .extract()
            .jsonPath()
            .getObject("body", DTO.class)
在给定()之后的

log()将配置请求日志记录

在then()之后的

log()将配置响应日志记录

您可以在https://github.com/rest-assured/rest-assured/wiki/Usage#logging

中找到更多有用的信息