У меня есть приложение springboot, которое позволяет кэшировать http. Я использую webRequest.checkModifiedSince
, как описано в here. При запуске моего приложения в браузере я получаю правильный результат, 200
код состояния при первом попадании и 304
на следующий хит. Но когда я запускаю тест maven для своего приложения, кажется, что webRequest.checkModifiedSince
всегда возвращает false.Тестирование Spring HTTP-кеширование
Вот мой TestCase:
@Test
public void checkCache() throws Exception {
MvcResult res = this.mockMvc.perform(get("/resource/to/cache.jpg"))
.andExpect(status().isOk())
.andReturn();
String date = res.getResponse().getHeader("Last-Modified");
HttpHeaders headers = new HttpHeaders();
headers.setIfModifiedSince(Long.parseLong(date));
headers.setCacheControl("max-age=0");
this.mockMvc.perform(get("same/resource/as/above.jpg")
.headers(headers))
.andExpect(status().isNotModified());
}
ли я что-то здесь не так?
спасибо @Brian! – afik