티스토리 뷰

728x90
반응형

1. 로그인 페이지 기능 테스트

(1) 로그인 페이지 테스트

  • 이전에 springsecurity의 의존성을 미리 설정을 해두었다.
  • 관련 테스트는 모든 요청에 대해 인증이 열리도록 설정한 것이다.
  • 이때 Auto configuration 설정이 이동되어서 http에 빨간 밑줄이 생긴다.
  • localhost:8080/login에서 로그인 페이지가 잘 작동되고 있는지 확인할 수 있다.
  • 보장되는 기능이기 때문에 최소한의 테스트만 해도 괜찮다.

 

(2) GitKraken을 사용하여 깃프로젝트 정리

  • 모든 테스트가 작성되었을 때, 다음 이제까지 커밋된 내용들이 많은 것을 확인할 수 있다.
  • 코드리뷰를 하기에 사이즈가 매우 커질 때 사용할 수 있는 방법이 있다.
  • Main 브랜치와 같은 위치에 새로운 feature 브랜치를 생성한다.
    • 예를 들어 페이지 구현 작업은 #21번 이슈였기 때문에 feature/#21이라고 해줄 수 있다.
  • 이후 페이지 기능 테스트 관련 내용에 대한 pull request를 feature/#21에다가 하는 것이다.
  • 코드리뷰를 하고 merge를 해주면 #21번 브랜치에 #21번 서비스 개발 내용이 담기게 된다.
  • 개발을 이어나갈 때는 혼란을 피하기 위해서 기존의 브랜치를 다시 사용하지 않고 #21 브랜치 위치에서 새로운 브랜치를 생성하여 구현을 하면 될 것이다.
  • 중간중간 코드리뷰를 완료한 뒤 #21번에 해당되는 모든 구현을 마쳤을 때, main 브랜치로 merge하게 되면 비교적 안전하게 구현 단계를 넘어갈 수 있을 것이다.
  • 즉, 이와 같은 방법을 통해 코드리뷰의 부담을 분할할 수 있다.

2. 게시판 페이지 기능 구현

(1) 게시판 페이지 구현

  • 테스트 내용을 보면서 필요한 내용을 구체적으로 구현해 간다.
  • searchArticles (여러 개 조회)
    • null 이나 내용이 비어 있을 때는 모든 게시글을 불러온다.
    • Swich를 사용하여 searchType에 따라 keyword를 검색할 수 있도록 구현한다.
    • 부분 검색이 가능하도록 Containing을 사용한다.
  • serchArticle (단 건 조회)
    • article id를 사용하여 한 개의 글만 조회한다. 이때 만약 에러가 난다면 게시글이 없습니다라는 EntityNotFoundException을 던져준다.
  • saveArticle
    • dto.toEntity를 활용하여 단순하게 save를 할 수 있다.
  • updateArticle
    • Id를 사용해 article을 불러오고 내용을 업데이트하고 다시 저장하는 과정을 해야하는 부분인데, findById를 사용하면 select 쿼리가 발생한다. 그렇지 않기 위해서는 getReferenceById를 사용할 수 있다.
    • 또한 참고로 save 제외할 수 있는데, 트랜젝션이 끝날 때 변경된 내용을 인지하고 update 쿼리가 실행되기 때문인다.
    • 없는 게시글일 경우에는 EntityNotFoundException을 try catch로 남겨준다.
  • deleteArticle
    • 지원해주는 deleteById 메소드를 사용하면 쉽게 삭제 가능하다.

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S

 

 

#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완

728x90
반응형
댓글