해결된 질문
작성
·
531
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요. 강의 수강 중 선생님과 다르게 오류가 발생해 질문 드립니다. 개별로 실행하면 다 잘 돌아가는데 전체 테스트를 실행하면 findByName()에서 오류가 발생합니다. 왼쪽 하단에 테스트가 전체 다 뜨지 않고 findByName만 뜨고요.
전체 코드 사진입니다.
클래스에서 테스트 실행 시 오류 구문 사진입니다.
마지막 findAll()에서 member1, member2에 다른 값을 지정하면 전체 테스트가 잘 돌아갑니다. 다른 값을 참조해서 오류가 나는 것 같은데.. clearStore()가 안먹히는 것 같은데 제가 이해한게 맞나요?
clearStore() 작성을 잘못된 위치에서 한걸까요 ..?
이해가 안 가 질문 드립니다..
답변 1
1
안녕하세요. useruseruser님, 공식 서포터즈 y2gcoder입니다.
먼저
왼쪽 하단에 테스트가 전체 다 뜨지 않고 findByName만 뜨고요.
이건 테스트 결과 를 보여주시는 캡처 사진 에서
여기도 클릭하셔서 활성화해주시면 성공/실패 테스트 결과를 전부 다 보여주게 됩니다.
개별로 실행하면 다 잘 돌아가는데 전체 테스트를 실행하면 findByName()에서 오류가 발생합니다.
이건 아마도 afterEach()의 애노테이션을 잘못 붙여줘서 이전 테스트의 데이터들이 남아서 발생할 수 있다고 생각합니다.
afterEach() 메서드 위에 @Test가 아니라 @AfterEach 를 붙이고 다시 전체 테스트를 시도해주십시오!
@AfterEach
public void afterEach() {
repository.clearStore();
}
해결이 안되시면 MemoryMemberRepository 전체 코드를 올려주십시오 :)
감사합니다.
애노테이션 문제였네요 코드 제대로 확인했다 생각했는데 이런 실수가 있었네요 감사합니다 덕분에 해결되었습니다!