gpt4 book ai didi

java - 如何使用 JUnit 对缓存控制 header 进行单元测试?

转载 作者:行者123 更新时间:2023-12-01 11:14:00 25 4
gpt4 key购买 nike

我刚刚创建了一个 CacheControl 用于 REST 服务的响应,它是一个 ResponseBuilder,它采用 ResponseBuilder 作为参数,我在其中设置了无缓存选项。代码如下所示。

        /**
* Cacheless method to control the Cache Header in REST responses.
* @param builder the response builder
* @return Cache Control Header for REST Responses
*/
private ResponseBuilder setCacheControlHeader(final ResponseBuilder builder) {
CacheControl control = new CacheControl();
control.setNoCache(true);
control.setNoStore(true);
control.setMaxAge(0);
control.setPrivate(true);
control.setMustRevalidate(true);
control.setNoTransform(true);
builder.cacheControl(control);
builder.header("Pragma", "no-cache");
builder.header("Expires", 0);

return builder;
}

由于我正在研究方法,所以我使用 PostMan 来测试 header ,这似乎没问题。现在,我尝试创建一个 JUnit 测试来测试传递给该方法的响应构建器是否正在为该方法分配参数,例如“noCache”、“noStore”和“expires”。

我需要对使用此方法的每个 RestServices 进行测试。有人可以建议如何测试它吗?

问候

最佳答案

使用 RestAssured,非常简单:

    given().param("bookId", book.getId())
.get("/api/books/")
.then()
.statusCode(HttpStatus.SC_OK)
.header("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");

关于java - 如何使用 JUnit 对缓存控制 header 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32048183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com