Before - After 모든 테스트 코드 단위 @BeforeAll 모든 테스트가 수행되기 전에 최초로 수행되는 메서드 static으로 만들어야 한다. @AfterAll 모든 테스트가 수행된 후에 마지막으로 수행되는 메서드 static으로 만들어야 한다. 각각의 테스트 코드 단위 @BeforeEach 각각의 테스트 코드가 실행되기 전에 수행되는 메서드 @AfterEach 각각의 테스트 코드가 실행된 후에 수행되는 메서드 테스트 반복하기 @RepeatTest 해당 테스트 메서드를 반복할 수 있다. value로 반복 값 설정가능 name 속성을 사용하여 네이밍 가능 RepetitionInfo를 사용하여 현재 반복 횟수 및 총 횟수 확인가능 @RepeatedTest(value = 5, name="테스트 {c..
TIL
프로젝트를 하면서 계속 테스트 코드의 필요성을 간과했었다. 어차피 개인 프로젝트로 배포되지 않을 프로젝트이니, 이 단계에서는 테스트 코드는 작성할 필요가 없다고 생각했다. 근데 내가 회사에 들어가서 실제로 고객이 이용하는 서비스 개발을 맡게된다면? 고객 경험이 회사의 입장에서 정말 중요한데, 당연히 나와야 될 값이 안 나오거나, 버그가 있다면 회사의 이미지에 타격을 줄 수 있다. 근데 그게 신입 개발자인 나 때문이라면? 거기다 돈 문제까지 걸려있다면? 이런 테스트 코드 작성에 익숙해져야 ETA도 지키고 좀 더 완성도 높은 서비스를 개발 할 수 있을 것이다. Development: 개발 Unit Test(단위 테스트): 개발자 테스트 QA Testing: 블랙박스 테스팅 주로 QA 팀이 Production..
오늘은 OAuth에 대한 간략한 작동 방식을 머릿속에 이미지화 했다. OAuth를 코드상으로 공부하기 전에 작동방식에 대해 무조건 이해하고 가라는 선배들의 조언들 때문에 정리했다. 이해를 못하고 시작하면 코드상으로 되게 이해하기 힘들다고 해서.. 어쨌든 이해 한 내용 시작!OAuth란?사용자들이 특정 서버에 바로 아이디를 보내지 않고 제 3의 서비스 (카카오톡이나, 구글 등)의 서버로 아이디를 보내서 특정 서버의 접근 권한을 부여할 수 있는, 접근 위임을 위한 개방형 표준이다. 사용자가 특정 서버에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜이다. OAuth 이전의 방식은?OAuth 이전의 방식은 이런 방식으로 회원가입을 구현했다고 한다. Cons..
개요 팀 프로젝트를 진행하며, 마지막 단계에 들어섰는데, 예외 처리를 하는 부분이었다. 예외 처리...를 할 건데 늘 하는 방식으로 예외 처리를 하기엔 너무 진부했다. try catch로 잡고 catch에서 리스폰스 엔티티에 body 채워서 클라이언트 반환... 좋다.. 좋은데.. 작업 방식이 너무 똑같아지고, 재미도 없었다. 그래서 어떤 방법이 좋을까? 고민했는데 첫 번째로 나온 의견이 Global Exception Handler 였다. 그리고 두 번째로 나온 의견이 Enum이었다. 사실 내가 말한 건데, 일부러 모르는 부분을 도전해보고 싶어서 핸들러랑 열거형 클래스를 말했다. 기존의 작업 방식 @DeleteMapping("/{reviewId}") public ResponseEntity deleteRe..
오늘 팀프로젝트를 하면서 UserDetails에서 받아온 유저를 Service단에서 레포지토리에 불러온 유저랑 비교를 하고 안맞으면 튕겨내는 예외처리를 만들었다. 근데 계속 오류가 나는 것이다. @Transactional public ReviewCommentResponseDto updateComment(ReviewCommentRequestDto requestDto, Long movieId, Long reviewId, Long commentId, User user) { checkMovieAndReview(movieId, reviewId); ReviewComment reviewComment = reviewCeommentRepository.findById(commentId) .orElseThrow(() -> ..
팀 프로젝트중 오픈 API를 사용하기로 했다. 영화진흥위원회 오픈API OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요. www.kobis.or.kr 이건데 오늘 이 부분을 구현하면서 Json 파싱 하는 방법이랑 오브젝트로 매핑하는 방법을 알았다. 오픈 API 사용법 부터 알아야겠지? 우선 라이브러리를 제공한다 처음엔 RestTemplate을 적용하려 했으나 라이브러리가 있으면 시간도 아낄 겸 활용하자 생각해서 라이브러리를 사용했다. 안에서 보면 getMovieList를 오버로딩하고 있다. 밑에껀 모든 검색 기준 넣어줘야 검색 위에껀 특정 검색 기준으로만 검색 검색 기준은 아래서 확인 가능하다 흠 나는 특정 검색 기..