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

useruseruser님의 프로필 이미지
useruseruser

작성한 질문수

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

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

테스트 실행 오류

해결된 질문

작성

·

534

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요. 강의 수강 중 선생님과 다르게 오류가 발생해 질문 드립니다. 개별로 실행하면 다 잘 돌아가는데 전체 테스트를 실행하면 findByName()에서 오류가 발생합니다. 왼쪽 하단에 테스트가 전체 다 뜨지 않고 findByName만 뜨고요.

q1.pngq2.png전체 코드 사진입니다.

q3.png클래스에서 테스트 실행 시 오류 구문 사진입니다.

마지막 findAll()에서 member1, member2에 다른 값을 지정하면 전체 테스트가 잘 돌아갑니다. 다른 값을 참조해서 오류가 나는 것 같은데.. clearStore()가 안먹히는 것 같은데 제가 이해한게 맞나요?

q4.pngclearStore() 작성을 잘못된 위치에서 한걸까요 ..?

 

이해가 안 가 질문 드립니다..

답변 1

1

안녕하세요. useruseruser님, 공식 서포터즈 y2gcoder입니다.

먼저

왼쪽 하단에 테스트가 전체 다 뜨지 않고 findByName만 뜨고요.

이건 테스트 결과 를 보여주시는 캡처 사진 에서

image여기도 클릭하셔서 활성화해주시면 성공/실패 테스트 결과를 전부 다 보여주게 됩니다.

개별로 실행하면 다 잘 돌아가는데 전체 테스트를 실행하면 findByName()에서 오류가 발생합니다.

이건 아마도 afterEach()의 애노테이션을 잘못 붙여줘서 이전 테스트의 데이터들이 남아서 발생할 수 있다고 생각합니다.

afterEach() 메서드 위에 @Test가 아니라 @AfterEach 를 붙이고 다시 전체 테스트를 시도해주십시오!

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

 

해결이 안되시면 MemoryMemberRepository 전체 코드를 올려주십시오 :)

 

감사합니다.

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

애노테이션 문제였네요 코드 제대로 확인했다 생각했는데 이런 실수가 있었네요 감사합니다 덕분에 해결되었습니다!

파이팅입니다!

useruseruser님의 프로필 이미지
useruseruser

작성한 질문수

질문하기