이번에 프로젝트를 진행하면서 구현한 기능이 잘 돌아가는지 유닛테스트를 실시할 필요성을 느꼈다. 평소에 깔짝대던 테스트 방식은src/test/... 경로에서 @SpringBootTest를 사용하던 통합테스트 방식이었는데, 난 이게 통합테스트인줄도 몰랐다.. 통합테스트는
이제 유닛테스트를 이용하여 회원가입 성공 기능을 검증해보자!Mockito는 테스트 더블(실제 구현을 대체하는 객체,Mock, Stub, Spy 등)을 생성하고 동작을 검증하는 데 사용되는 목적 프레임워크이다.@ExtendWith(MockitoExtension.class
이번에는 memberSerivce에서 회원가입 성공 로직을 테스트해보려고 한다.테스트 구현에 앞서 어느정도까지 테스트 코드를 짜야하는지 알아본 결과,일반적으로 memberController등 controller 테스트는 보통 통합테스트로 진행하고,memberServic

SpringBoot + JWT + Redis를 사용하여 깃허브 로그인을 구현하던 중 문제가 발생했다.오류를 읽어보니 serialize를 못 한다는 것이었다.스프링부트에서 디폴트 serializer가JdkSerializerationRedisSerializer 이기 때문에
분명 로컬 환경에서는 잘 작동하던 서비스가운영서버에 올리니 거짓말처럼 500 에러가 발생했다. 문제는 로그인 후 원래 보던 페이지로 다시 보내주기 위해 쿠키를 설정해주는 부분에서 발생했다.이 메서드에서 value 값이 null로 들어와 nullPointException

프로젝트를 진행하면서 스프링 시큐리티 + jwt 토큰을 이용한 회원 인증을 구현하던 중, 500에러가 발생해 로그를 확인하니 SecurityContext에서 User객체를 받아오는 과정에서 문제가 발생했음을 알 수 있었다.우선 어떤식으로 회원을 인증하는가부터 보면,나는
진행중이던 프로젝트에서 JWT 토큰을 사용하며 사용자를 인증하고 있었는데, 한 가지 문제가 발생했다.기존 방식은 JWT 토큰을 통해 액세스 토큰을 만들어 사용자의 쿠키에 넣어주고, 액세스 토큰이 만료될 경우 리프레시 토큰 유무를 확인 후 다시 액세스 토큰을 발급해주는

컨트롤러 통합 테스트를 진행하면서 로그인 후 레디스에 jwt 토큰을 저장해주는 로직을 검증하는 과정에서 NullPointerException이 발생했다.MemberControllerTest.java위 코드 redis.getValue() 부분에서 오류가 발생했다.레디스에

프로젝트를 진행하면서 간단한 닉네임 랜덤 생성기를 만들었다. 텍스트 파일 1에 관형사 약 200개를,텍스트 파일 2에 명사 단어 약 250개를 넣고 서버에서 해당 파일을 읽어와 랜덤으로 조합하는 방식으로 제작했다. 코드는 아래와 같다.이렇게 설정하고 로컬서버에서 테스트