[spring] @Valid 테스트

나길진·2024년 1월 23일

테스트 코드를 작성하면서 코딩하는 습관을 기르는 와중에 @Valid를 사용해서 파라미터 유효성 검사를 하는 코드를 작성하고 테스트 코드를 작성하고 어떤 방식이 있을까 검색을 통해 찾았다.

방법

import jakarta.validation.Validator;
import java.util.Set;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest
public class ValidatorTest {

	@Autowired
    Validator validator;
    
    @Test
    public void valid(){
    	//given
        testDTO request1 = testDTO.builder()
                .name("test")
                .size(10)
                .build();
        
        //when
        Set<ConstraintViolation<CreateRequestDTO>> validate1 = validator.validate(request1);
        
        assertThat(validate1)
                .extracting(ConstraintViolation::getMessage)
                .contains("형식에 맞지 않습니다.");
    }
}

jakarta.validation.Validator 를 사용해서 검사를 진행하면되고 message는 내가 설정한 내용이라 ConstraintViolation에 들어있는 정보를 활용해서 검증하면 된다.

profile
백엔드 개발자

0개의 댓글