Google 태그 관리자 아이콘
반응형

JUnit 2

.use(awaitility를 사용하여 딜레이 테스트하기)

고민 cache만료를 확인하기 위해 일정시간을 지연하여 값을 확인하고자 하였다. 처음에는 Thread.sleep을 통해 간단하게 해보려고 했지만 의미상 연결을 주석으로 써야만하는 아쉬움이 남았다. 결론 결론적으로 awaitility라이브러리를 사용하였다. 지연테스트를 성공적으로 확인했다. 이번 기회에는 단순히 지연테스트만 해보았는데 다음기회에 비동기 테스트도 구현해보면 재밌겠다. 예전에 CountLatchDown으로 비동기테스트를 구현했었는데 그거랑 비교해보면 어떨지 기대된다. 접근방법 앞단에 3초 후에 만료되는 redis key인(어느 cache든 상관없음) testKey를 세팅해두었다. (- 참고로 spring-data-redis를 이용하여 redisTemplate을 사용하였다.) 그 다음에 바로 아..

.use(@MockBean vs @Mock)

고민 spring-boot-starter-test에 보면 @MockBean이 제공되고 있다. 기존에 Mockito의 @Mock과 무엇이 다른지 어느걸 쓰는게 boot관점에서 더 정확할지 고민되었다. 결론 상황에 맞게 쓰면된다. Spring에서 제공하는 applicationContext와 연계가 필요하면 @MockBean 로직확인용 Mock이 필요하다면 @Mock + @InjectMock 따라서 대게는 @Mock을 사용하고(이때 MockitoJUnitRunner로 Runwith한다) Spring에서 제공되는 WebMvcTest와 함께 사용될때는 @MockBean을 사용하면 된다. 접근방법 Spring에서 제공되는 MockBean을 이용한 단순한 테스트 코드이다. someService를 MockBean으로 ..

반응형