비밀번호 범위를 테스트하자
Member라는 클래스를 작성
public class Member {
@NotNull
@Length(max = 30)
private String memberId;
@NotEmpty
@Range(min = 8, max = 16)
private String memberPwd;
@NotEmpty
private String memberNM;
public Member() {
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberPwd() {
return memberPwd;
}
public void setMemberPwd(String memberPwd) {
this.memberPwd = memberPwd;
}
public String getMemberNM() {
return memberNM;
}
public void setMemberNM(String memberNM) {
this.memberNM = memberNM;
}
}
그리고 컨트롤러에서 @Validated를 사용해서 Member를 받자
@PostMapping("/members/add")
public String memberAdd(@ModelAttribute @Validated Member member, BindingResult bindingResult, Model model)
테스트 코드를 작성하자
@Test
void 비밀번호_길이_제한() throws Exception {
//given //when //then
mockMvc.perform(post("/members/add")
.param("memberId", "testId")
.param("memberPwd", "test")
.param("memberNM", "test"))
.andExpect(model().errorCount(1))
.andExpect(model().attributeHasFieldErrors("member", "memberPwd"))
.andExpect(model().attributeHasFieldErrorCode("member", "memberPwd", "Range"));
}
여기서 memberPwd만 에러가 발생하도록 8 글자 미만로 넣는다.
.andExpect(model().errorCount(1))
- 에러의 갯수 체크
.andExpect(model().attributeHasFieldErrors("member", "memberPwd"))
- 필드 에러가 있는지 확인 (member의 memberPwd)
.andExpect(model().attributeHasFieldErrorCode("member", "memberPwd", "Range"))
- 필드 에러 코드로 확인
- member에서 memberPwd가 Range 에러인지 확인
'프로그래밍 > Spring' 카테고리의 다른 글
싱글톤 패턴 (0) | 2021.09.12 |
---|---|
Spring 이해 (0) | 2021.09.06 |
Spring과 Spring Boot 차이점 (0) | 2021.09.05 |