인프런 커뮤니티 질문&답변

Joe Hidden님의 프로필 이미지

작성한 질문수

스프링과 JPA 기반 웹 애플리케이션 개발

회원 가입 리팩토링 및 테스트

입력값 오류 테스트 진행중에...

20.12.16 06:03 작성

·

413

1

안녕하세요. 

강의보면서 따라가는 도중에 해결안되는 부분이 있어 혹시나 하고 질문 드립니다. 

입력값 오류 테스트 진행중에... 

기대값은 200 ok 인데 자꾸 redirect 302가 떨어져서 디버그 돌려봤는데 아래와 같이 오류 입력값임에도 불구하고 에러를 못잡더라구요..

사인업 폼은 아래와 같구요. 

강의와 다르게 진행된 부분은 

@Valid 어노테이션이 안먹어서 

import javax.validation.Valid를 해줘도 못찾아 오길래

그래들에, 

compileOnly 'org.springframework.boot:spring-boot-starter-validation'을 추가해주고 

진행하고 있는 중입니다. 

테스트 코드는 강의와 동일합니다.

한참 허우적대고 있는중에 혹시나 의심가는 부분이 있으실까 해서 질문 드립니다~

답변 3

3

Joe Hidden님의 프로필 이미지
Joe Hidden
질문자

2020. 12. 17. 21:03

답을 찾았습니다. 

혹시나 저같이 허우적 대며 시간낭비하시는 분이 있을까봐 

참고하시라고 남겨놓습니다. 

원인은 그래들에 의존성 추가 방법에 있었습니다. 

요렇게 하지 마시고, 

compileOnly 'org.springframework.boot:spring-boot-starter-validation'

요렇게 추가하니까 테스트 통과 하네요.

implementation 'org.springframework.boot:spring-boot-starter-validation'

0

백기선님의 프로필 이미지
백기선
지식공유자

2020. 12. 18. 00:45

아.. compileOnly라서 런타임시에는 해당 의존성이 적용되지 않나보네요. 메이븐에 있는 provided랑 비슷한건가 보군요.

공유해 주셔서 감사합니다.

0

백기선님의 프로필 이미지
백기선
지식공유자

2020. 12. 16. 09:17

org.springframework.boot:spring-boot-starter-validation 이 의존성 추가 잘 해주셨구요.
그 다음에는 @Valid가 제대로 동작해야 할텐데... 소스 빌드가 꼬인건 아닐까요? 의존성을 추가하고 코드도 변경했지만 이전에 컴파일 했던 클래스 파일로 테스트를 실행하고 있다거나.. 메이븐으로 치면 mvn clean test 를 해보라고 할텐데 그래들에서는 어떻게 하는지 모르겠지만 비슷한게 있을겁니다. 빌드 디렉토리를 삭제하고 다시 해보세요.