intelliJ 유령 테스트코드

파이 ఇ·2023년 9월 21일
1
post-thumbnail

사건 개요 : 유령테스트 ?

테스트 코드 실행 중 분명히 삭제한 테스트가 실행되고 failed를 내면서 저의 테스트코드를 방해했습니다. 당황스러웠지만 일단 저는 이 현상을 유령 테스트라 부르기로했습니다.

분명 item 패키지에는 ItemControllerTestItemServiceTest 밖에 없는데 ItemQueryServiceTest가 같이 실행됩니다.

기존에 ItemQueryServiceTest가 있었지만 삭제하고 ItemServiceTest로 통합을 시킨 뒤 전체 테스트를 돌리니 없는 파일이 자꾸 실행이 되면서 실패를 했습니다. 순간 제 머리는 물음표로 뒤덮였어요.

? ? ? ? ? ? ? ?? 이게 왜.. ? ? ? ? ? ? ? ? ?? ?

그래도 당황하지 않고 찬찬히 에러코드를 읽어봤습니다.
음 당연한 소릴해서 좀 화가났습니다.
아니 내가 삭제한 테스트 코드를 인텔리제이.. 니가 돌렸는데 당연한거 아님???????????
어처구니가 없었지만 딱히 할 수 있는건 없어서 걍 방법을 찾아봤답니다.

1차 시도 [ gradle clean ]

대게 오류가 생긴다면 저는 항상 gradle clean을 가장 먼저 합니다. 왜냐면 보통 해결이 되거든요.. 그래서 해결이 됐으면 제가 이 글을 쓰는 일은 없었을 겁니다.

결과는 당연히 실패

2차 시도 [ 인텔리제이 재실행 ]

보통 이것도 많이 사용합니다. 왜냐면 끄고 다시 키면 안되던것도 되더라구요
그치만? 이것도 성공했으면 글을 쓰지 않았습니다..

결과는 당연히 실패

3차 시도 [ Invalidate Caches ]

두번의 실패를 겪고 이번엔 되겠지 하면서 야심차게 준비한 세번째 카드.. 인텔리제이 상단에 File 탭을 누르면 Invalidate Caches...가 있습니다.

Invalidate Caches...로 들어가서 invalidate and Restart를 누르고 다시 gradle clean을 해줍니다. 체크박스를 아무것도 선택 안해도 보통 해결이 됩니다 !
저는 모든 체크박스를 누르든 안누르든 뭘 눌러도 안되더라구요 네..

결과는 또 또 실패

4차 시도 [ 재부팅 ]

할 만큼 했다 남은건 재부팅뿐.. 이라고 믿고 컴퓨터 자체를 재부팅을 했습니다.

결과는 또 또 또 실패입니다

여기서 저는 제 과오를 되돌려봤습니다. 내가 뭘 잘못했지..

아무리 생각해봐도 제 잘못은 없습니다. 아무튼 아님.
어쨋든 다시 생각을 해보니 삭제한 테스트 클래스가 돌아간다는건 어딘가에 기생해있을 확률 58000%입니다. shift를 두번 클릭하면 검색창이 나옵니다.

안나옵니다.
제 머리로는 문제 해결이 되지 않는다는걸 깨닫고 주변 동료들에게 상황을 설명했습니다.

5차 시도 [ 친구찬스 ]

🍞 : 아이템 패키지 전체를 테스트 돌리면 문제가 생겨요 help..
🥟 : 패키지 명을 바꿔보세요
🍞 : 님 천재신가 ?
생각해보니 ItemQueryServiceTest는 패키지명이 item일 때 생성되었으니 패키지명을 바꾸면 성공할 거 같았습니다.

결과는 성공 .. ?

근데 이 찜찜한 마음을 감출 수 가 없었습니다. 아 이게 아닌데..
저는 현재 부트캠프에 참여중이고 부트캠프에는 마스터가 있습니다. 그럼 6차 시도는?

해결방법은 여기 !

6차 시도 [ 마스터 찬스 ]

친구 찬스와 마찬가지로 갓스터에게 찾아가봅니다.
🍞 : 갓스터.. 1~5차 까지 시도를 해봤지만 마음에 들지 않습니다..
🤵🏻 : ㅇㅋ 구글 켜서 intellij run removed test 검색가보자
... (대충 클래스 파일이 있으니 실행이 된다는 얘기) ...
🤵🏻 : ㅇㅋ finder에서 프로젝트 열어보셈.
🍞 : ... ( 프로젝트 열어서 build 폴더 확인. 없었음 ) ...
🤵🏻 : out 폴더 ㄱㄱ

✨ 드디어 찾았다 . . . ! ✨

(참고로 저는 out 폴더 자체를 삭제했습니다.)
🍞 : 흥허ㅓ어엏윻유ㅠㅠ헝헝ㅎ유ㅠㅠ( 대충 오늘 이것때문에 고생했다는 얘기..)
🤵🏻 : 아이구 고생했어요 조금 더 일찍 찾아오지~.. 그래도 이렇게 하나 배웠다고 생각하면 되죠 ( 세상 따듯한 갓갓스터 그저 빛,,🌟)

결론

왜 박연진이 푼돈으로 누군가의 하늘이 됐는지도 이해 됐습니다. 갓갓스터는 오늘부터 제 하늘임.
어쨋든 이렇게 저는 갓갓스터 님의 도움을 끝으로 해결했습니다.

원래는 ignore 처리 되었어야 하는게 안됐던거 같습니다. 왜인지는 모름 . .

어쨋든 해결 완..


써보니 별거 없지만. . 누군가에게 도움이 되길 바라며 !

feat. 남세 짱 🔥
profile
⋆。゚★⋆⁺₊⋆ ゚☾ ゚。⋆ ☁︎。₊⋆

0개의 댓글