221011 TIL 사소하지만 중요한 차이

2022. 10. 11. 23:50·성장이야기/TIL

백엔드에서 회원가입 유효성 검사를 진행하기 위해 테스트를 작성하는데 해결이 되지 않는 문제가 있었다.

이름을 입력하지 않았을 때 오류 메시지가 잘 나오는지 테스트를 하는데 이름을 빈칸으로 하고 테스트를 해도 테스트가 통과가 되지 않는 상황이였다. 

 

문제 상황

회원가입 시 이름을 입력하는데 빈칸이면 안되고 3~7글자 사이의 한글만 입력해야 하기 때문에 스프링의 @Valid어노테이션을 이용해 아래 같이 Dto클래스에서 유효성 검사를 진행했다.

 

그리고 이름이 빈칸일 때 테스트를 진행하는데 이름이 빈칸이면 "이름을 입력해주세요"라는 메시지가 나오게 했지만 밑에 오류 메시지를 보면 "이름을 다시 확인해주세요"라는 다른 조건(3~7글자 사이의 한글만 입력)이 틀렸을 때의 메시지가 나왔다. 

그래서 @NotBlank와 @Pattern을 같이 쓰는 게 영향이 있는 건가 싶어서 @Pattern 어노테이션을 주석 처리하고 테스트를 실행했더니 아주 잘 통과가 되었다.

일단은 문제 상황이 @Pattern 어노테이션의 문제로 좁혀진 상황이다. 

@Pattern의 정규식은 리액트 useForm에서 사용하던 정규식을 그대로 가져왔기 때문에 문제가 없을 거라고 생각을 했었다.

만약에 정규식에 문제가 있었으면 리액트에서 사용했을 때 문제가 있었어야 했는데 문제가 없었기 때문이다.

 

뭐가 문제인지 혼자서는 도저히 못 찾겠어서 동료에게 도움을 요청해 같이 문제를 파악하는데 믿었던 정규식에 문제가 있다는 것을 깨달았다.

/^[ㄱ-ㅎ|가-힣]{3,7}$/

위에 코드가 리액트에서 쓰던 정규식인데 정규식을 감싸는 '/'를 자바에서는 빼주고 사용을 해야 했는데 그대로 가져다 쓰다 보니까 '/'까지 같이 들어가 버려서 정규식에서 문제가 발생했었다.

 

"^[ㄱ-ㅎ|가-힣]{3,7}$"

자바에서는 정규식을 쓸 때는 위 코드와 같이 '/'를 빼고 사용을 해야 한다는 누군가에게는 당연한 사실이지만 나는 몰랐던 사실을 오늘도 하나 배웠다.

'성장이야기 > TIL' 카테고리의 다른 글

221013 TIL @RequestBody vs @ModelAttribute  (1) 2022.10.13
221012 TIL 내 서비스는 믿을만한가?  (0) 2022.10.12
221010 TIL 자바스크립트 실력 높이기  (0) 2022.10.10
221009 TIL 로그인이 된 줄 알았지..  (0) 2022.10.09
221008 TIL 호이스팅(hoisting)이란?  (0) 2022.10.08
'성장이야기/TIL' 카테고리의 다른 글
  • 221013 TIL @RequestBody vs @ModelAttribute
  • 221012 TIL 내 서비스는 믿을만한가?
  • 221010 TIL 자바스크립트 실력 높이기
  • 221009 TIL 로그인이 된 줄 알았지..
seungjjun
seungjjun
  • seungjjun
    개발이야기
    seungjjun
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 성장이야기
        • TIL
        • 주간회고
      • Java
        • Spring
        • Spring Security
      • 트러블슈팅
      • Kafka
      • OS
      • Network
      • 메가테라
      • Database
      • Algorithm
      • Git
      • HTML
      • CSS
      • 독서
      • 컴퓨터 이해하기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    메가테라
    Til
    개발일지
    주간회고
    항해99
    이커머스 프로젝트
    redis
    graphQL
    항해플러스
    메가테라 주간회고
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
seungjjun
221011 TIL 사소하지만 중요한 차이
상단으로

티스토리툴바