테스트 코드를 작성하면서 코딩하는 습관을 기르는 와중에 @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에 들어있는 정보를 활용해서 검증하면 된다.