[Java Spring] 시간의 흐름을 테스트 코드에 적용하자 : 로그인 토큰 만료 시나리오 테스트
·
Java
배경현재 제가 진행 중인 토이 프로젝트에서는 로그인을 위해 액세스 토큰과 리프레시 토큰을 사용하고 있습니다. 이 중 액세스 토큰은 security가 직접 유효성과 만료 여부를 확인해주고 있지만, 리프레시 토큰은 제가 직접 작성한 코드에서 유효성을 검증하고 있는데요. 따라서 검증 기능의 테스트를 위해 `만료된 리프레시 토큰을 사용하면 예외가 발생하는 시나리오`를 가정하여 테스트 코드를 작성하게 되었고, 그 과정에 대해 정리해보려고 합니다.첫 번째 아이디어 : Thread.sleep()유효한 리프레시 토큰을 생성한 후, TTL이 지나서 만료되는 것을 확인해야 하기 때문에 시간의 흐름을 반영하는 테스트가 필요합니다. 첫 번째로 생각해볼 수 있는 방법은 토큰 생성 후 `Thread.sleep()`을 이용하는 것..