* 해당 시리즈는 인프런 김영한님 강좌인 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 내용
강의를 학습하며 개인적으로 정리한 글이며, 저작권 문제나 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.
assertThat이 Import 되지 않아서 생긴 에러 같았다. 예상이 맞았고, 구글링으로 맞는 import 코드를 찾아서 작성했다.
import static org.assertj.core.api.Assertions.assertThat;
테스트는 순서에 상관없이(의존관계 없이) 설계되어야 한다.
-> 저장소 혹은 공용데이터를 지울 코드 필요.
@AfterEach // 콜백 메소드로, 함수하나 실행 후 돌아와서 또 실행.
public void afterEach() {
repository.clearStore();
}
public void clearStore() {
store.clear();
}
아래의 경우 메소드로 뽑는 것이 좋다.
.
.
// 같은 이름이 있는 중복 회원 X
memberRepository.findMyName(member.getName())
//Optional안에 멤버 객체가 있음 -> null이 있을수 있다면 optional로 감싸는 것.
.ifPresent(m -> {
throw new IllegalStateException("이미 존재하는 회원입니다.");
});
메소드 생성 단축키: ctrl+t -> Extract Method
private void validateDuplicateMember(Member member) {
memberRepository.findMyName(member.getName()) //Optional안에 멤버 객체가 있음 -> null이 있을수 있다면 optional로 감싸는 것.
.ifPresent(m -> {
throw new IllegalStateException("이미 존재하는 회원입니다.");
});
}