WebmvcTest와 AutoConfigureMockMvc
테스트 과정에서 통신에 관한 Test는 해결
→But 실제 내부 로직을 통한 결과값 비교의 어려움
Redis에 값이 존재해야 테스트 값과 실제 값을 비교할 수 있다.
@Test
void getCache() throws Exception {
// Given
String key = "exampleKey1";
String expectedValue = "exampleValue1";
ValueOperations<String, String> ops = redisTemplate.opsForValue();
ops.set(key, expectedValue, 60, TimeUnit.SECONDS);
lenient().when(cacheService.get(eq(key))).thenReturn(expectedValue);
// When & Then
mockMvc.perform(get("/getCache/{key}", key))
.andExpect(status().isOk())
.andExpect(content().string(expectedValue))
.andDo(print());
}
해결은 했지만 테스트 실행 시간이 너무 길다.
또한 여러 값을 조회하거나 삭제하는 테스트는 데이터도 많이 들어가야 하는데…