[GDG]홍대 맛집 아카이빙 프로젝트 #16 - 테스트 돌리기

2025. 8. 9. 01:49·팀 프로젝트/[2025][GDG]홍대 맛집 아카이빙 프로젝트

15편까지는 테스트를 했고 지금부터는 내일 19시 30분에 있는 코어타임 전까지 테스트를 돌리며, 약간의 시간이 남을 때는 JWT토큰 관련 작업을 할 예정이다. 이거는 메서드 하나만 분리해주거나 JWTFilter에 메서드 추가만해주면 되는거라 크게 복잡하지는 않을 예정이다.

 

추가로 또 권한이 없는 사용자나 잘못된 응답이 올 경우에는 원래는 매 경우마다 ResponseEntity를 반환했는데 그 방식보다 에러를 터치게 해서 전역 Exception 처리를하도록 변경할 예정인데.. 이거는 서비스의 모든 클래스를 순회하면서 처리해야하기 때문에 우선은 잠깐 미룰 예정이다.


테스트할 기능 목록

1. 회원가입

1-1. 아이디 중복확인

1-2. 닉네임 중복확인

1-3. 이메일 인증보내기 및 인증번호 확인

1-4. 중복회원가입 방지

 

2. 투표하기

2-1. 가게정보등록

2-2. 투표목록에 가게 등록

2-3. 월별투표조회하기 / 지난투표조회하기

2-4. 내 투표 조회하기

2-5. 월말에 투표용 가게 테이블을 비우고 과거 투표테이블로 이동시키고 득표수 3개를 STORE FOR SELECTED 테이블로 이동시키기

 

이정도?


1. 회원가입 관련 기능 테스트

MEMBER 테이블에 회원하나를 등록해두고 시작한다.

 

1-1. 아이디 중복확인

아이디란 USER_ID이다. (회원가입, 로그인 할 때 아이디 / 비밀번호를 입력하는데 그 때의 아이디)

API명세서

중복일 경우

안중복일경우

 

?? 이건 고쳐야겠다.

 

MEMBER 테이블은 기존에 JDBC를 쓰다가 JPA로 바꿨는데 true / false 값을 반대로 적용시켰다. 그래서 처음에 중복되지 않는데 중복되었다고 떠버린거;;

 

1-2. 닉네임 중복확인

API명세서

 

중복된 경우

아이디 → 닉네임으로 수정하기

 

안중복인경우

이것도 JPA 교체과정에서 생긴 약간의 오류를 수정함

 

1-3. 이메일 인증보내기 및 인증번호 확인

API명세서

 

홍익대 재학생 이메일이 아닐 경우

이거 API명세서에 없는데 추가해야할 듯

 

메일 보내기 성공

PC에서 지메일에 안들어가져서 스마트폰으로 캡처

 

API 명세서

 

인증번호가 다른경우

 

맞는 경우

validity가 true인 경우에만 회원가입 가능

 

인증 후에는 DB에서 인증번호가 삭제되기에 다시 인증번호를 치면 오류가 발생한다.

 

1-4. 중복회원가입 방지하기

어제 추가한 기능

잘 돌아간다.

 

근데 JPA 메서드에서 UserIdANDEmailAndNickname 방식으로 가져오기 때문에.. 셋 중에 하나라도 기존 DB와 다르다면 회원가입이 가능하다. 

 

수정함

 

로그인

성공

userId와 password만 보기 때문에 email과 nickname은 어떻게되든 상관없다.

 

이로써 회원가입 / 로그인 기능에 대한 테스트를 완료했다


2. 투표하기

2-1. 가게정보등록

API명세서

 

중복으로 등록한 경우

유효성검사가 왜 꺼져있지?

며칠 전에 에러 수정하다가 유효성 검사를 꺼버렸는데 그거 때문인 것 같다. 이건 고쳐야할 듯

 

2-2. 투표목록에 가게 등록

이건 굳이 검사하지 않을 예정. 이러면 나중에 투표 기능 테스트에 영향도 끼치고 간단한 기능이니까 나중에 테스트해보기로

 

2-3. 월별투표조회하기 / 지난투표조회하기

2-4. 내 투표 조회하기

2-5. 월말에 투표용 가게 테이블을 비우고 과거 투표테이블로 이동시키고 득표수 3개를 STORE FOR SELECTED 테이블로 이동시키기

이거는 Scheduled 어노테이션 테스트를 하면서 여러 번 해봤으므로 통과

어차피 Scheduled 어노테이션 테스트를 또 할거라 그때하기로 한다.


 

개발할 기능 목록

- 아이디 / 비밀번호 찾기

- MEMBER 테이블에 프로필 사진을 추가해야할까? → 코어타임 때 물어보기

- STORE 관련 DB 정규화

- STORE_FOR_VOTE 테이블에서 자동으로 값을 추가시키기

- 후보추천게시글에서 좋아요를 가장 많이 받은 가게 DB등록하기.. 후보추천게시글 만들기 생각해보니까 이걸 안만들었네. 내일 만들어야겠다.

- OAuth 기능 되살리기 - DB연동시키기

- 관리자 기능 관리자만 받기

- 투표용 가게 등록 DB 정규화와 유효성 검사 추가

- 상점 등록에 유효성 검사 추가

 

개선할 기능 목록

- 아이디중복확인에서 쿼리파라미터로 온 Id가 없을 때 오류 터지게하기

- 닉네임중복확인에서 닉네임이 기존 회원가 겹칠 경우 에러메시지를 "동일한 닉네임이 이미 있습니다."로 수정하기

- 홍익대학교 재학생 이메일이 아닐 경우 오류메시지 API명세서에 추가하기

 

이정도.. 사실 귀찮다 졸려 한 수백 번 본 코드들과 기능들이라 지루하다 그래도 테스트를 하지 않으면.. 실제 서비스에서 어떤 오류가 터질지 몰라...............

 

암튼 이거 가지고 내일부터 쭉 디버깅을 할 예정

책은 언제 읽냐 헤드퍼스트와 스프링인액션 내용을 까먹을 지경이야;

 

 

 

 

 

 

'팀 프로젝트 > [2025][GDG]홍대 맛집 아카이빙 프로젝트' 카테고리의 다른 글

[GDG]홍대 맛집 아카이빙 프로젝트 백엔드 개발 #6.2. - Redis  (1) 2025.08.11
[GDG]홍대 맛집 아카이빙 프로젝트 #17 - 테스트 디버깅  (3) 2025.08.10
[GDG]홍대 맛집 아카이빙 프로젝트 #15 - 투표기능 마무리도전하기  (4) 2025.08.09
[GDG]홍대 맛집 아카이빙 프로젝트 #14 - 기타 투표기능 개발  (4) 2025.08.08
[GDG]홍대 맛집 아카이빙 프로젝트 #13 - 투표기능  (6) 2025.08.06
'팀 프로젝트/[2025][GDG]홍대 맛집 아카이빙 프로젝트' 카테고리의 다른 글
  • [GDG]홍대 맛집 아카이빙 프로젝트 백엔드 개발 #6.2. - Redis
  • [GDG]홍대 맛집 아카이빙 프로젝트 #17 - 테스트 디버깅
  • [GDG]홍대 맛집 아카이빙 프로젝트 #15 - 투표기능 마무리도전하기
  • [GDG]홍대 맛집 아카이빙 프로젝트 #14 - 기타 투표기능 개발
윤마치
윤마치
개발을 합니다.
  • 윤마치
    윤마치
    윤마치
  • 전체
    오늘
    어제
    • 분류 전체보기 (211)
      • 신년사 (3)
        • 2025년 (2)
        • 2026년 (1)
      • CS (59)
        • JVM (12)
        • 백엔드 (20)
        • 언어구현 (1)
        • 객체지향 (1)
        • 논리회로 (5)
        • 컴퓨터구조 (9)
        • 데이터베이스 (1)
        • 컴퓨터 네트워크 (10)
      • 언어공부 (64)
        • Java | Kotlin (48)
        • JavaScript | TypeScript (9)
        • C | C++ (6)
      • 개인 프로젝트 (11)
        • [2025] Happy2SendingMails (3)
        • [2026] 골든리포트! (8)
        • [2026] 순수자바로 개발하기 (0)
        • 기타 이것저것 (0)
      • 팀 프로젝트 (29)
        • [2025][GDG]홍대 맛집 아카이빙 프로젝트 (29)
      • 알고리즘 (13)
        • 백준풀이기록 (11)
      • 놀이터 (0)
      • 에러 수정일지 (2)
      • 고찰 (24)
        • CEOS 23기 회고록 (2)
  • 블로그 메뉴

    • 링크

      • 컬러잇 개발블로그
    • 공지사항

    • 인기 글

    • 태그

      144
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.5
    윤마치
    [GDG]홍대 맛집 아카이빙 프로젝트 #16 - 테스트 돌리기
    상단으로

    티스토리툴바