테스트 코드 실행 중 분명히 삭제한 테스트가 실행되고 failed를 내면서 저의 테스트코드를 방해했습니다. 당황스러웠지만 일단 저는 이 현상을 유령 테스트라 부르기로했습니다.
분명 item
패키지에는 ItemControllerTest
와 ItemServiceTest
밖에 없는데 ItemQueryServiceTest
가 같이 실행됩니다.
기존에 ItemQueryServiceTest
가 있었지만 삭제하고 ItemServiceTest
로 통합을 시킨 뒤 전체 테스트를 돌리니 없는 파일이 자꾸 실행이 되면서 실패를 했습니다. 순간 제 머리는 물음표로 뒤덮였어요.
그래도 당황하지 않고 찬찬히 에러코드를 읽어봤습니다.
음 NoSuchMethodError
.. 당연하겠죠? 제가 테스트 코드를 삭제했으니까요 !
대게 오류가 생긴다면 저는 항상 gradle clean
을 가장 먼저 합니다. 왜냐면 보통 해결이 되거든요.. 그래서 해결이 됐으면 제가 이 글을 쓰는 일은 없었을 겁니다.
보통 이것도 많이 사용합니다. 왜냐면 끄고 다시 키면 안되던것도 되더라구요
그치만? 이것도 성공했으면 글을 쓰지 않았습니다..
두번의 실패를 겪고 이번엔 되겠지 하며 꺼내들은 세번째 카드.. 인텔리제이 상단에 File 탭을 누르면 Invalidate Caches...
가 있습니다.
Invalidate Caches...
로 들어가서 invalidate and Restart
를 누르고 다시 gradle clean
을 해줍니다. 체크박스를 아무것도 선택 안해도 보통 해결이 됩니다 !
저는 모든 체크박스를 누르든 안누르든 뭘 눌러도 안되더라구요 네..
할 만큼 했다 남은건 재부팅뿐.. 이라고 믿고 컴퓨터 자체를 재부팅을 했습니다.
여기서 저는 제 과오를 되돌려봤습니다. 내가 뭘 잘못했지..
아무리 생각해봐도 제 잘못은 없습니다. 아무튼 아님.
어쨋든 다시 생각을 해보니 삭제한 테스트 클래스가 돌아간다는건 어딘가에 기생해있을 확률 58000%입니다. shift를 두번 클릭하면 검색창이 나옵니다.
안나옵니다.
제 머리로는 문제 해결이 되지 않는다는걸 깨닫고 주변 동료들에게 상황을 설명했습니다.
🍞 : 아이템 패키지 전체를 테스트 돌리면 문제가 생겨요 help..
🥟 : 패키지 명을 바꿔보세요
🍞 : 님 천재신가 ?
생각해보니 ItemQueryServiceTest
는 패키지명이 item
일 때 생성되었으니 패키지명을 바꾸면 성공할 거 같았습니다.
근데 이 찜찜한 마음을 감출 수 가 없었습니다. 아 이게 아닌데..
저는 현재 부트캠프에 참여중이고 부트캠프에는 마스터가 있습니다. 그럼 6차 시도는?
친구 찬스와 마찬가지로 갓스터에게 찾아가봅니다.
🍞 : 갓스터.. 1~5차 까지 시도를 해봤지만 마음에 들지 않습니다..
🤵🏻 : ㅇㅋ 구글 켜서 intellij run removed test
검색가보자
... (대충 클래스 파일이 있으니 실행이 된다는 얘기) ...
🤵🏻 : ㅇㅋ finder
에서 프로젝트 열어보셈.
🍞 : ... ( 프로젝트 열어서 build 폴더 확인. 없었음 ) ...
🤵🏻 : out
폴더 ㄱㄱ
(참고로 저는 out
폴더 자체를 삭제했습니다.)
🍞 : 흥허ㅓ어엏윻유ㅠㅠ헝헝ㅎ유ㅠㅠ( 대충 오늘 이것때문에 고생했다는 얘기..)
🤵🏻 : 아이구 고생했어요 조금 더 일찍 찾아오지~.. 그래도 이렇게 하나 배웠다고 생각하면 되죠 ( 세상 따듯한 갓갓스터 그저 빛,,🌟)
왜 박연진이 푼돈으로 누군가의 하늘이 됐는지도 이해 됐습니다. 갓갓스터는 오늘부터 제 하늘임.
어쨋든 이렇게 저는 갓갓스터 님의 도움을 끝으로 해결했습니다.
원래는 ignore 처리 되었어야 하는게 안됐던거 같습니다. 왜인지는 모름 . .
써보니 별거 없지만. . 누군가에게 도움이 되길 바라며 !