인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

성문님의 프로필 이미지
성문

작성한 질문수

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

회원 리포지토리 테스트 케이스 작성

강의자료 그대로 입력했는데 save가 왜오류가 나온까요?

작성

·

323

0


답변 6

1

코드 확인해보았습니다.

@AfterEach를 작성하셔서 이전 테스트 데이터가 영향을 미치지 않아야 정상인데 그렇지 않아 확인해보니,

clearStore() 코드가 비어있었습니다.

 

@AfterEach
public void afterEach() {
repository.clearStore();
}
public void clearStore() {
}

아래와 같이 store.clear()를 추가해도 문제가 발생하여 확인해보니

public void clearStore() {
store.clear();
}

findById에서도 문제가 있었습니다. empty()를 반환하여 발생한 것으로

public Optional<Member> findById(Long id) {
return Optional.empty();
}

@Override
public Optional<Member> findById(Long id) {
return Optional.ofNullable(store.get(id));
}

로 바꿔주세요

 

바꾸고 나면 테스트 성공하실꺼에요

성문님의 프로필 이미지
성문
질문자

감사합니당 잘되네요 

0

성문님의 프로필 이미지
성문
질문자

추가했어요

동일합니다

 

 

다시 확인해주세요

 

 

시크릿모드에서 링크 접속했을 때 구글 로그인 화면이 출력안되는 것 확인해주세요.

성문님의 프로필 이미지
성문
질문자

성문님의 프로필 이미지
성문
질문자

이렇게 나오면된거아닌가요?

링크가 

https://drive.google.com/file/d/1kx6lKrmjySqTDNRMoaaMu2vSpc7WclTS/view?usp=sharing 

맞나요?

 

위에서 말씀드린 것처럼 시크릿 모드에서 로그인하지 않고 링크에 접속했을 때 아래 화면이 출력되어야 합니다.

 

 

시크릿모드에서 위 링크 접속 시 위 화면이 출력되거나

구글 로그인 하지 않은 상태에서 화면이 출력되면 설정이 제대로 된 것이므로 

확인 되시면 댓글남겨주세요.

확인해보겠습니다.

지금 설정으로는 업로드한 프로젝트를 다운로드 할 수 없습니다.

성문님의 프로필 이미지
성문
질문자

됐네요

0

성문님의 프로필 이미지
성문
질문자

공유된거아닌가요?

본인 계졍이여서 보이는거라서요.

업로드 한 계정 아닌 다른 구글계정으로 로그인해보시면 아실꺼에요.

링크 있는 사용자에게 허용되는 거라서

구글 로그인 하지 않고도 보여야합니다. 

0

성문님의 프로필 이미지
성문
질문자

0

성문님의 프로필 이미지
성문
질문자

https://drive.google.com/file/d/1kx6lKrmjySqTDNRMoaaMu2vSpc7WclTS/view?usp=sharing 

 

이폴더안에있는 회원 서비스하고 리퍼지토리테스트폴더안에서 오류가발생하네요  

 

액세스 권한 필요 화면이 출력되지 않도록 링크있는 사용자에게 허용권한을 부여해주세요.

위 링크(자주하는질문)에서 설정 방법 확인 가능합니다.

 

성문님의 프로필 이미지
성문
질문자

수정했어요

그대로 출력됩니다.

시크릿모드(작업 표시줄 크롬 아이콘 우클릭, 윈도우 맥 동일) 에서 링크 접속해서 확인해보시겠어요?

 

0

안녕하세요. 성문공식 서포터즈 OMG입니다.


전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 권한 문제 꼭 확인해주세요

감사합니다

성문님의 프로필 이미지
성문

작성한 질문수

질문하기