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

최민종님의 프로필 이미지

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 서비스 테스트

테스트 오류 발생

21.07.15 00:26 작성

·

395

0

테스트 진행시 오류가 발생하는데요 null 처리 및  오류 관련되어서 어떻게 조치하면 좋을지 알 수 있을까요 ?.....

답변 3

0

최민종님의 프로필 이미지
최민종
질문자

2021. 07. 15. 15:58

죄송합니다.. null방생하는 원인은 회원가입 save 라인이 없어서 정말로 데이터  매칭이 안돼서 그런것 같습니다..

/**
*
* 회원가입
*/
public Long join(Member member){
//같은 이름이 있는 중복 회원x
validateDuplicateMember(member);
memberRepository.save(member);
return member.getId();
}
OMG님의 프로필 이미지

2021. 07. 15. 20:12

해결하신거죠?

문제에 직면하고 해결해 나감으로써 실력이 발전하는거라 생각해요 ㅎㅎ

죄송해하실 필요없습니다 ^^

열공하세요~

0

최민종님의 프로필 이미지
최민종
질문자

2021. 07. 15. 08:49

해당 질문과 조금 다른것 같습니다.. 아직 DB파트까지 가지 못했습니다.....

java : 11.0.11

툴 : IntelliJ IDEA소스코드 

https://github.com/choiminjong/hello-spring

오류발생 

https://github.com/choiminjong/hello-spring/blob/master/src/test/java/hello/hellospring/service/MemberServiceTest.java

1.오류발생지점

https://github.com/choiminjong/hello-spring/blob/master/src/main/java/hello/hellospring/service/MemberService.java

# memberRepository.findById(saveId).get(); null이 왔을때 get() 함수에서 오류 발생

public void 회원가입() throws Exception {

//Given

Member member = new Member();

member.setName("hello");

//When

Long saveId = memberService.join(member);

//Then

Member findMember = memberRepository.findById(saveId).get();

assertEquals(member.getName(), findMember.getName());

}

2.오류발생지점

assertThrows 함수에서 오류 발생...

= assertThrows(IllegalStateException.class,

@Test

public void 중복_회원_예외() throws Exception {

//Given

Member member1 = new Member();

member1.setName("spring");

Member member2 = new Member();

member2.setName("spring1");

//When

memberService.join(member1);

IllegalStateException e = assertThrows(IllegalStateException.class,

() -> memberService.join(member2));//예외가 발생해야 한다.

assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");

}

(null처리 방법관련되어서 어떻게 하면 좋을지 알 수 있을까요?)

0

OMG님의 프로필 이미지

2021. 07. 15. 00:52

안녕하세요. 최민종님, 공식 서포터즈 OMG입니다.

며칠 전 민종님과 같은 문제로 인해 질문을 주신 분이 계시는데 아래의 링크를 참고하셔서 문제가 발생할 만한 코드에 대한 힌트를 얻으신 후 강의 혹은 메뉴얼을 참고하여서 수정해주세요.

https://www.inflearn.com/questions/254244

만약 해결이 안될 경우 링크에 프로젝트 공유 방법이 있으니 프로젝트를 공유해주세요.

감사합니다.